aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYucong Sun <fallentree@fb.com>2021-08-16 21:47:30 -0700
committerAndrii Nakryiko <andrii@kernel.org>2021-08-17 11:16:53 -0700
commitf667d1d66760fcb27aee6c9964eefde39a464afe (patch)
tree6ebf0879a3b699f79ee8979f654a69013e95cea1
parentselftests/bpf: Skip loading bpf_testmod when using -l to list tests. (diff)
downloadlinux-dev-f667d1d66760fcb27aee6c9964eefde39a464afe.tar.xz
linux-dev-f667d1d66760fcb27aee6c9964eefde39a464afe.zip
selftests/bpf: Correctly display subtest skip status
In skip_account(), test->skip_cnt is set to 0 at the end, this makes next print statement never display SKIP status for the subtest. This patch moves the accounting logic after the print statement, fixing the issue. This patch also added SKIP status display for normal tests. Signed-off-by: Yucong Sun <fallentree@fb.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20210817044732.3263066-3-fallentree@fb.com
-rw-r--r--tools/testing/selftests/bpf/test_progs.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selftests/bpf/test_progs.c
index 532af3353edf..f0fbead40883 100644
--- a/tools/testing/selftests/bpf/test_progs.c
+++ b/tools/testing/selftests/bpf/test_progs.c
@@ -148,18 +148,18 @@ void test__end_subtest()
struct prog_test_def *test = env.test;
int sub_error_cnt = test->error_cnt - test->old_error_cnt;
- if (sub_error_cnt)
- env.fail_cnt++;
- else if (test->skip_cnt == 0)
- env.sub_succ_cnt++;
- skip_account();
-
dump_test_log(test, sub_error_cnt);
fprintf(env.stdout, "#%d/%d %s:%s\n",
test->test_num, test->subtest_num, test->subtest_name,
sub_error_cnt ? "FAIL" : (test->skip_cnt ? "SKIP" : "OK"));
+ if (sub_error_cnt)
+ env.fail_cnt++;
+ else if (test->skip_cnt == 0)
+ env.sub_succ_cnt++;
+ skip_account();
+
free(test->subtest_name);
test->subtest_name = NULL;
}
@@ -786,17 +786,18 @@ int main(int argc, char **argv)
test__end_subtest();
test->tested = true;
- if (test->error_cnt)
- env.fail_cnt++;
- else
- env.succ_cnt++;
- skip_account();
dump_test_log(test, test->error_cnt);
fprintf(env.stdout, "#%d %s:%s\n",
test->test_num, test->test_name,
- test->error_cnt ? "FAIL" : "OK");
+ test->error_cnt ? "FAIL" : (test->skip_cnt ? "SKIP" : "OK"));
+
+ if (test->error_cnt)
+ env.fail_cnt++;
+ else
+ env.succ_cnt++;
+ skip_account();
reset_affinity();
restore_netns();