diff mbox series

[bpf-next] selftests/bpf: remove filtered subtests from output

Message ID 20220520061303.4004808-1-mykolal@fb.com (mailing list archive)
State Accepted
Commit 2dc323b1c4cb8ab7db9f8286a9c3267ce66419ab
Delegated to: BPF
Headers show
Series [bpf-next] selftests/bpf: remove filtered subtests from output | expand

Checks

Context Check Description
netdev/tree_selection success Clearly marked for bpf-next
netdev/fixes_present success Fixes tag not required for -next series
netdev/subject_prefix success Link
netdev/cover_letter success Single patches do not need cover letters
netdev/patch_count success Link
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/cc_maintainers warning 8 maintainers not CCed: kpsingh@kernel.org kafai@fb.com john.fastabend@gmail.com yhs@fb.com songliubraving@fb.com netdev@vger.kernel.org linux-kselftest@vger.kernel.org shuah@kernel.org
netdev/build_clang success Errors and warnings before: 0 this patch: 0
netdev/module_param success Was 0 now: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/verify_fixes success No Fixes tag
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 54 lines checked
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0
bpf/vmtest-bpf-next-VM_Test-2 fail Logs for Kernel LATEST on ubuntu-latest with llvm-15
bpf/vmtest-bpf-next-VM_Test-3 fail Logs for Kernel LATEST on z15 with gcc
bpf/vmtest-bpf-next-PR fail PR summary
bpf/vmtest-bpf-next-VM_Test-1 fail Logs for Kernel LATEST on ubuntu-latest with gcc

Commit Message

Mykola Lysenko May 20, 2022, 6:13 a.m. UTC
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>
---
 tools/testing/selftests/bpf/test_progs.c | 8 ++++++--
 tools/testing/selftests/bpf/test_progs.h | 2 ++
 2 files changed, 8 insertions(+), 2 deletions(-)

Comments

Yonghong Song May 20, 2022, 5:47 p.m. UTC | #1
On 5/19/22 11:13 PM, Mykola Lysenko wrote:
> 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>

Acked-by: Yonghong Song <yhs@fb.com>
patchwork-bot+netdevbpf@kernel.org May 20, 2022, 11:30 p.m. UTC | #2
Hello:

This patch was applied to bpf/bpf-next.git (master)
by Andrii Nakryiko <andrii@kernel.org>:

On Thu, 19 May 2022 23:13:03 -0700 you wrote:
> 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
> 
> [...]

Here is the summary with links:
  - [bpf-next] selftests/bpf: remove filtered subtests from output
    https://git.kernel.org/bpf/bpf-next/c/2dc323b1c4cb

You are awesome, thank you!
diff mbox series

Patch

diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selftests/bpf/test_progs.c
index a07da648af3b..ecf69fce036e 100644
--- a/tools/testing/selftests/bpf/test_progs.c
+++ b/tools/testing/selftests/bpf/test_progs.c
@@ -265,6 +265,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 */
@@ -283,9 +284,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) {
@@ -417,7 +419,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;
 	}
 
@@ -1123,6 +1125,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)
@@ -1418,6 +1421,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) {
diff --git a/tools/testing/selftests/bpf/test_progs.h b/tools/testing/selftests/bpf/test_progs.h
index dd1b91d7985a..5fe1365c2bb1 100644
--- a/tools/testing/selftests/bpf/test_progs.h
+++ b/tools/testing/selftests/bpf/test_progs.h
@@ -70,6 +70,7 @@  struct subtest_state {
 	char *log_buf;
 	int error_cnt;
 	bool skipped;
+	bool filtered;
 
 	FILE *stdout;
 };
@@ -156,6 +157,7 @@  struct msg {
 			char name[MAX_SUBTEST_NAME + 1];
 			int error_cnt;
 			bool skipped;
+			bool filtered;
 			bool have_log;
 		} subtest_done;
 	};