From: Geliang Tang <[email protected]>
There are still some "ENOTSUPP" (-524) errors left when running BPF
selftests on a Loongarch platform since ASSERT_GE() are used there to
check the return values, not ASSERT_OK():
'''
test_bpf_cookie:PASS:skel_open 0 nsec
#17/1 bpf_cookie/kprobe:OK
#17/2 bpf_cookie/multi_kprobe_link_api:OK
#17/3 bpf_cookie/multi_kprobe_attach_api:OK
#17/4 bpf_cookie/uprobe:OK
#17/5 bpf_cookie/multi_uprobe_attach_api:OK
#17/6 bpf_cookie/tracepoint:OK
#17/7 bpf_cookie/perf_event:OK
tracing_subtest:FAIL:fentry.link_create unexpected fentry.link_create: \
actual -524 < expected 0
#17/8 bpf_cookie/trampoline:FAIL
lsm_subtest:FAIL:lsm.link_create unexpected lsm.link_create: \
actual -524 < expected 0
#17/9 bpf_cookie/lsm:FAIL
#17/10 bpf_cookie/tp_btf:OK
#17/11 bpf_cookie/raw_tp:OK
#17 bpf_cookie:FAIL
... ...
test_module_fentry_shadow:PASS:load_vmlinux_btf 0 nsec
test_module_fentry_shadow:PASS:get_bpf_testmod_btf_fd 0 nsec
test_module_fentry_shadow:PASS:btf_get_from_fd 0 nsec
test_module_fentry_shadow:PASS:btf_find_by_name 0 nsec
test_module_fentry_shadow:PASS:btf_find_by_name 0 nsec
test_module_fentry_shadow:PASS:bpf_prog_load 0 nsec
test_module_fentry_shadow:FAIL:bpf_link_create unexpected \
bpf_link_create: actual -524 < expected 0
#168 module_fentry_shadow:FAIL
'''
Just like in ASSERT_OK(), this patch uses test_progs_get_error() helper
to skip ENOTSUPP (524) and ENOTSUP (95) in ASSERT_GT() too.
With this change, the new output of these selftests look like:
'''
#17/1 bpf_cookie/kprobe:OK
#17/2 bpf_cookie/multi_kprobe_link_api:OK
#17/3 bpf_cookie/multi_kprobe_attach_api:OK
#17/4 bpf_cookie/uprobe:OK
#17/5 bpf_cookie/multi_uprobe_attach_api:OK
#17/6 bpf_cookie/tracepoint:OK
#17/7 bpf_cookie/perf_event:OK
#17/8 bpf_cookie/trampoline:SKIP
#17/9 bpf_cookie/lsm:SKIP
#17/10 bpf_cookie/tp_btf:SKIP
#17/11 bpf_cookie/raw_tp:SKIP
#17 bpf_cookie:OK (SKIP: 4/11)
... ...
#168 module_fentry_shadow:SKIP
'''
Signed-off-by: Geliang Tang <[email protected]>
---
tools/testing/selftests/bpf/test_progs.h | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/bpf/test_progs.h
b/tools/testing/selftests/bpf/test_progs.h
index 8ca6cd970676..fe6e20df97d2 100644
--- a/tools/testing/selftests/bpf/test_progs.h
+++ b/tools/testing/selftests/bpf/test_progs.h
@@ -311,9 +311,10 @@ static inline int test_progs_get_error(int error)
typeof(actual) ___act = (actual); \
typeof(expected) ___exp = (expected); \
bool ___ok = ___act >= ___exp; \
- CHECK(!___ok, (name), \
- "unexpected %s: actual %lld < expected %lld\n", \
- (name), (long long)(___act), (long long)(___exp)); \
+ if (test_progs_get_error(___act)) \
+ CHECK(!___ok, (name), \
+ "unexpected %s: actual %lld < expected %lld\n", \
+ (name), (long long)(___act), (long long)(___exp));\
___ok; \
})
--
2.43.0