summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorYucong Sun <fallentree@fb.com>2021-08-16 21:47:30 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-09-18 13:43:52 +0200
commit1fe8b97cd0e0c6ba3869e329ed6c2c725e862a6f (patch)
treea3c890b9b49f7580c8127ab9e1198badae934aa0 /tools
parent1652cf211f0c5931cd0a95d9f6c49fed64c7dcd3 (diff)
selftests/bpf: Correctly display subtest skip status
[ Upstream commit f667d1d66760fcb27aee6c9964eefde39a464afe ] 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 Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'tools')
-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 6f103106a39b..bfbf2277b61a 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();