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
This commit is contained in:
Yucong Sun 2021-08-16 21:47:30 -07:00 committed by Andrii Nakryiko
parent 26d82640d5
commit f667d1d667
1 changed files with 13 additions and 12 deletions

View File

@ -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();