Re: [PATCH bpf-next v2] selftests/bpf: Use snake_case for subtest descriptions in jit_insns_arena.c
From: Tiezhu Yang
Date: Mon Oct 19 2026 - 03:53:28 EST
On 2026/10/19 下午3:18, Tiezhu Yang wrote:
On 2026/10/19 下午2:47, Daniel Borkmann wrote:
On 10/19/26 6:01 AM, Tiezhu Yang wrote:
Normalize two inline assembly test descriptions in jit_insns_arena.cDo these not work already?
from space-separated strings to snake_case.
It is done for consistency with other neighboring subtests registered
in test_jit_insns() (such as alu_imm, alu_reg, etc.). This also makes
it convenient to execute these subtests directly from the command line
without being forced to use shell quoting.
Otherwise, unquoted shell word-splitting causes test_progs to reject
the extra arguments before the filter code runs:
$ sudo ./test_progs -t jit_insns/arena access with zero offset
Usage: test_progs [OPTION...]
Try `test_progs --help' or `test_progs --usage' for more information.
$ sudo ./test_progs -t jit_insns/cast to a user address
Usage: test_progs [OPTION...]
Try `test_progs --help' or `test_progs --usage' for more information.
Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx>
./test_progs -t jit_insns/arena_zero_off
./test_progs -t jit_insns/cast_to_user
Yes, they work.
I misunderstood that the name is "cast to a user address" in the output
rather than "cast_to_user" before, there is difference between the
description and the name.
Something like this:
$ sudo ./test_progs -t jit_insns/cast_to_user
#191/2 jit_insns/cast to a user address:OK
#191 jit_insns:OK
#192 jit_insns_blinded:OK
Summary: 2/1 PASSED, 0 SKIPPED, 0/0 FAILED
Anyway, if this patch is not necessary, please ignore it.
By the way, IMO, it is better to remove the __description strings,
so that the test output style matches the actual program names like
other neighboring subtests. This prevents developers from being
misled into copying space-separated strings from the standard output.
What do you think about something like this?
diff --git a/tools/testing/selftests/bpf/progs/jit_insns_arena.c b/tools/testing/selftests/bpf/progs/jit_insns_arena.c
index b396d5aefb5a..95736eae2a58 100644
--- a/tools/testing/selftests/bpf/progs/jit_insns_arena.c
+++ b/tools/testing/selftests/bpf/progs/jit_insns_arena.c
@@ -34,7 +34,6 @@ struct {
#if defined(__BPF_FEATURE_ADDR_SPACE_CAST)
SEC("syscall")
-__description("arena access with zero offset")
__success __retval(0)
int arena_zero_off(void *ctx)
{
@@ -82,7 +81,6 @@ int arena_zero_off(void *ctx)
}
SEC("syscall")
-__description("cast to a user address")
__success __retval(0)
int cast_to_user(void *ctx)
{
The output is something like this:
$ sudo ./test_progs -t jit_insns/arena_zero_off | tail -3
#191/1 jit_insns/arena_zero_off:FAIL
#191 jit_insns:FAIL
Summary: 1/0 PASSED, 0 SKIPPED, 1/1 FAILED
$ sudo ./test_progs -t jit_insns/cast_to_user
#191/2 jit_insns/cast_to_user:OK
#191 jit_insns:OK
#192 jit_insns_blinded:OK
Summary: 2/1 PASSED, 0 SKIPPED, 0/0 FAILED
The main goal here is that if a test fails, developers can immediately
recognize the exact, actionable test name from the standard output and
rerun it without any confusion.
Thanks,
Tiezhu