diff options
author | Mykola Lysenko <mykolal@fb.com> | 2022-05-19 23:13:03 -0700 |
---|---|---|
committer | Andrii Nakryiko <andrii@kernel.org> | 2022-05-20 16:25:29 -0700 |
commit | 2dc323b1c4cb8ab7db9f8286a9c3267ce66419ab (patch) | |
tree | 603d127f25588889a5c5dd15a8791c8f45b4fc45 /tools/testing/selftests/bpf/test_progs.c | |
parent | fa376860658252a4559026496528c5d3a36b52e3 (diff) | |
download | linux-2dc323b1c4cb8ab7db9f8286a9c3267ce66419ab.tar.bz2 |
selftests/bpf: Remove filtered subtests from output
Currently filtered subtests show up in the output as skipped.
Before:
$ sudo ./test_progs -t log_fixup/missing_map
#94 /1 log_fixup/bad_core_relo_trunc_none:SKIP
#94 /2 log_fixup/bad_core_relo_trunc_partial:SKIP
#94 /3 log_fixup/bad_core_relo_trunc_full:SKIP
#94 /4 log_fixup/bad_core_relo_subprog:SKIP
#94 /5 log_fixup/missing_map:OK
#94 log_fixup:OK
Summary: 1/1 PASSED, 0 SKIPPED, 0 FAILED
After:
$ sudo ./test_progs -t log_fixup/missing_map
#94 /5 log_fixup/missing_map:OK
#94 log_fixup:OK
Summary: 1/1 PASSED, 0 SKIPPED, 0 FAILED
Signed-off-by: Mykola Lysenko <mykolal@fb.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/20220520061303.4004808-1-mykolal@fb.com
Diffstat (limited to 'tools/testing/selftests/bpf/test_progs.c')
-rw-r--r-- | tools/testing/selftests/bpf/test_progs.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selftests/bpf/test_progs.c index 307f8f41437d..c639f2e56fc5 100644 --- a/tools/testing/selftests/bpf/test_progs.c +++ b/tools/testing/selftests/bpf/test_progs.c @@ -271,6 +271,7 @@ static void dump_test_log(const struct prog_test_def *test, int i; struct subtest_state *subtest_state; bool subtest_failed; + bool subtest_filtered; bool print_subtest; /* we do not print anything in the worker thread */ @@ -289,9 +290,10 @@ static void dump_test_log(const struct prog_test_def *test, for (i = 0; i < test_state->subtest_num; i++) { subtest_state = &test_state->subtest_states[i]; subtest_failed = subtest_state->error_cnt; + subtest_filtered = subtest_state->filtered; print_subtest = verbose() || force_log || subtest_failed; - if (skip_ok_subtests && !subtest_failed) + if ((skip_ok_subtests && !subtest_failed) || subtest_filtered) continue; if (subtest_state->log_cnt && print_subtest) { @@ -423,7 +425,7 @@ bool test__start_subtest(const char *subtest_name) state->subtest_num, test->test_name, subtest_name)) { - subtest_state->skipped = true; + subtest_state->filtered = true; return false; } @@ -1129,6 +1131,7 @@ static int dispatch_thread_send_subtests(int sock_fd, struct test_state *state) subtest_state->name = strdup(msg.subtest_done.name); subtest_state->error_cnt = msg.subtest_done.error_cnt; subtest_state->skipped = msg.subtest_done.skipped; + subtest_state->filtered = msg.subtest_done.filtered; /* collect all logs */ if (msg.subtest_done.have_log) @@ -1424,6 +1427,7 @@ static int worker_main_send_subtests(int sock, struct test_state *state) msg.subtest_done.error_cnt = subtest_state->error_cnt; msg.subtest_done.skipped = subtest_state->skipped; + msg.subtest_done.filtered = subtest_state->filtered; msg.subtest_done.have_log = false; if (verbose() || state->force_log || subtest_state->error_cnt) { |