selftests/bpf: Don't truncate #test/subtest field
authorAndrii Nakryiko <andrii@kernel.org>
Fri, 6 Oct 2023 17:57:44 +0000 (10:57 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 6 Oct 2023 18:17:28 +0000 (20:17 +0200)
We currently expect up to a three-digit number of tests and subtests, so:

  #999/999: some_test/some_subtest: ...

Is the largest test/subtest we can see. If we happen to cross into
1000s, current logic will just truncate everything after 7th character.
This patch fixes this truncate and allows to go way higher (up to 31
characters in total). We still nicely align test numbers:

  #60/66   core_reloc_btfgen/type_based___incompat:OK
  #60/67   core_reloc_btfgen/type_based___fn_wrong_args:OK
  #60/68   core_reloc_btfgen/type_id:OK
  #60/69   core_reloc_btfgen/type_id___missing_targets:OK
  #60/70   core_reloc_btfgen/enumval:OK

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Link: https://lore.kernel.org/bpf/20231006175744.3136675-3-andrii@kernel.org
tools/testing/selftests/bpf/test_progs.c

index 4d582cac2c09e11834265abb3c1bef48a75437fa..1b9387890148f4cf8879e05d23db724c442977ad 100644 (file)
@@ -255,7 +255,7 @@ static void print_subtest_name(int test_num, int subtest_num,
                               const char *test_name, char *subtest_name,
                               char *result)
 {
-       char test_num_str[TEST_NUM_WIDTH + 1];
+       char test_num_str[32];
 
        snprintf(test_num_str, sizeof(test_num_str), "%d/%d", test_num, subtest_num);