From: Geliang Tang <[email protected]>
There are so many "ENOTSUPP" (-524) errors when running BPF selftests
on a Loongarch platform since lacking BPF trampoline on Loongarch:
'''
test_d_path_basic:PASS:setup 0 nsec
libbpf: prog 'prog_stat': failed to attach: unknown error (-524)
libbpf: prog 'prog_stat': failed to auto-attach: -524
test_d_path_basic:FAIL:setup attach failed: -524
#77/1 d_path/basic:FAIL
#77/2 d_path/check_rdonly_mem:OK
#77/3 d_path/check_alloc_mem:OK
#77 d_path:FAIL
... ...
test_module_attach:PASS:skel_open 0 nsec
test_module_attach:PASS:set_attach_target 0 nsec
test_module_attach:PASS:set_attach_target_explicit 0 nsec
test_module_attach:PASS:skel_load 0 nsec
libbpf: prog 'handle_fentry': failed to attach: unknown error (-524)
libbpf: prog 'handle_fentry': failed to auto-attach: -524
test_module_attach:FAIL:skel_attach skeleton attach failed: -524
#167 module_attach:FAIL
... ...
ringbuf_subtest:PASS:skel_open 0 nsec
ringbuf_subtest:PASS:skel_load 0 nsec
ringbuf_subtest:PASS:rw_cons_pos 0 nsec
ringbuf_subtest:PASS:rw_extend 0 nsec
ringbuf_subtest:PASS:exec_cons_pos_protect 0 nsec
ringbuf_subtest:PASS:unmap_rw 0 nsec
ringbuf_subtest:PASS:wr_prod_pos 0 nsec
ringbuf_subtest:PASS:wr_prod_pos_err 0 nsec
ringbuf_subtest:PASS:wr_data_page_one 0 nsec
ringbuf_subtest:PASS:wr_data_page_one_err 0 nsec
ringbuf_subtest:PASS:wr_data_page_two 0 nsec
ringbuf_subtest:PASS:wr_data_page_all 0 nsec
ringbuf_subtest:PASS:ro_prod_pos 0 nsec
ringbuf_subtest:PASS:write_protect 0 nsec
ringbuf_subtest:PASS:exec_protect 0 nsec
ringbuf_subtest:PASS:ro_remap 0 nsec
ringbuf_subtest:PASS:unmap_ro 0 nsec
ringbuf_subtest:PASS:ro_prod_pos 0 nsec
ringbuf_subtest:PASS:write_protect 0 nsec
ringbuf_subtest:PASS:exec_protect 0 nsec
ringbuf_subtest:PASS:ro_remap 0 nsec
ringbuf_subtest:PASS:unmap_ro 0 nsec
ringbuf_subtest:PASS:ringbuf_create 0 nsec
ringbuf_subtest:FAIL:skel_attach skeleton attachment failed: -1
#277/1 ringbuf/ringbuf:FAIL
#277/2 ringbuf/ringbuf_n:SKIP
#277/3 ringbuf/ringbuf_map_key:SKIP
#277 ringbuf:FAIL
... ...
test_test_bprm_opts:PASS:skel_load 0 nsec
libbpf: prog 'secure_exec': failed to attach: unknown error (-524)
libbpf: prog 'secure_exec': failed to auto-attach: -524
test_test_bprm_opts:FAIL:attach attach failed: -524
#382 test_bprm_opts:FAIL
... ...
test_test_ima:PASS:skel_load 0 nsec
test_test_ima:PASS:ringbuf 0 nsec
libbpf: prog 'bprm_committed_creds': failed to attach: \
unknown error (-524)
libbpf: prog 'bprm_committed_creds': failed to auto-attach: -524
test_test_ima:FAIL:attach attach failed: -524
#384 test_ima:FAIL
... ...
test_trace_ext:PASS:setup 0 nsec
test_trace_ext:PASS:setup 0 nsec
test_trace_ext:PASS:setup 0 nsec
test_trace_ext:PASS:setup 0 nsec
libbpf: prog 'test_pkt_md_access_new': failed to attach: \
unknown error (-524)
libbpf: prog 'test_pkt_md_access_new': failed to auto-attach: -524
test_trace_ext:FAIL:setup freplace/test_pkt_md_access attach failed: -524
#397 trace_ext:FAIL
'''
This patch uses ASSERT_OK() instead of CHECK() to skip these "ENOTSUPP"
errors. With this change, the new output of these selftests look like:
'''
#77/1 d_path/basic:SKIP
#77/2 d_path/check_rdonly_mem:OK
#77/3 d_path/check_alloc_mem:OK
#77 d_path:OK (SKIP: 1/3)
... ...
#167 module_attach:SKIP
... ...
#277/1 ringbuf/ringbuf:SKIP
#277/2 ringbuf/ringbuf_n:SKIP
#277/3 ringbuf/ringbuf_map_key:SKIP
#277 ringbuf:SKIP
... ...
#382 test_bprm_opts:SKIP
... ...
#384 test_ima:SKIP
... ...
#397 trace_ext:SKIP
'''
Signed-off-by: Geliang Tang <[email protected]>
---
tools/testing/selftests/bpf/prog_tests/d_path.c | 2 +-
tools/testing/selftests/bpf/prog_tests/module_attach.c | 2 +-
tools/testing/selftests/bpf/prog_tests/ringbuf.c | 2 +-
tools/testing/selftests/bpf/prog_tests/test_bprm_opts.c | 2 +-
tools/testing/selftests/bpf/prog_tests/test_ima.c | 2 +-
tools/testing/selftests/bpf/prog_tests/trace_ext.c | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/d_path.c
b/tools/testing/selftests/bpf/prog_tests/d_path.c
index ccc768592e66..78110075b485 100644
--- a/tools/testing/selftests/bpf/prog_tests/d_path.c
+++ b/tools/testing/selftests/bpf/prog_tests/d_path.c
@@ -129,7 +129,7 @@ static void test_d_path_basic(void)
goto cleanup;
err = test_d_path__attach(skel);
- if (CHECK(err, "setup", "attach failed: %d\n", err))
+ if (!ASSERT_OK(err, "setup"))
goto cleanup;
bss = skel->bss;
diff --git a/tools/testing/selftests/bpf/prog_tests/module_attach.c
b/tools/testing/selftests/bpf/prog_tests/module_attach.c
index 6d391d95f96e..4aab747ad202 100644
--- a/tools/testing/selftests/bpf/prog_tests/module_attach.c
+++ b/tools/testing/selftests/bpf/prog_tests/module_attach.c
@@ -62,7 +62,7 @@ void test_module_attach(void)
bss = skel->bss;
err = test_module_attach__attach(skel);
- if (CHECK(err, "skel_attach", "skeleton attach failed: %d\n", err))
+ if (!ASSERT_OK(err, "skel_attach"))
goto cleanup;
/* trigger tracepoint */
diff --git a/tools/testing/selftests/bpf/prog_tests/ringbuf.c
b/tools/testing/selftests/bpf/prog_tests/ringbuf.c
index 4c6f42dae409..ee7deb76b60a 100644
--- a/tools/testing/selftests/bpf/prog_tests/ringbuf.c
+++ b/tools/testing/selftests/bpf/prog_tests/ringbuf.c
@@ -161,7 +161,7 @@ static void ringbuf_subtest(void)
goto cleanup;
err = test_ringbuf_lskel__attach(skel);
- if (CHECK(err, "skel_attach", "skeleton attachment failed: %d\n", err))
+ if (!ASSERT_OK(err, "skel_attach"))
goto cleanup;
trigger_samples();
diff --git a/tools/testing/selftests/bpf/prog_tests/test_bprm_opts.c
b/tools/testing/selftests/bpf/prog_tests/test_bprm_opts.c
index a0054019e677..40a86a303c1a 100644
--- a/tools/testing/selftests/bpf/prog_tests/test_bprm_opts.c
+++ b/tools/testing/selftests/bpf/prog_tests/test_bprm_opts.c
@@ -88,7 +88,7 @@ void test_test_bprm_opts(void)
goto close_prog;
err = bprm_opts__attach(skel);
- if (CHECK(err, "attach", "attach failed: %d\n", err))
+ if (!ASSERT_OK(err, "attach"))
goto close_prog;
/* Run the test with the secureexec bit unset */
diff --git a/tools/testing/selftests/bpf/prog_tests/test_ima.c
b/tools/testing/selftests/bpf/prog_tests/test_ima.c
index 810b14981c2e..2a6c388fe29d 100644
--- a/tools/testing/selftests/bpf/prog_tests/test_ima.c
+++ b/tools/testing/selftests/bpf/prog_tests/test_ima.c
@@ -83,7 +83,7 @@ void test_test_ima(void)
goto close_prog;
err = ima__attach(skel);
- if (CHECK(err, "attach", "attach failed: %d\n", err))
+ if (!ASSERT_OK(err, "attach"))
goto close_prog;
measured_dir = mkdtemp(measured_dir_template);
diff --git a/tools/testing/selftests/bpf/prog_tests/trace_ext.c
b/tools/testing/selftests/bpf/prog_tests/trace_ext.c
index aabdff7bea3e..d006c0b91178 100644
--- a/tools/testing/selftests/bpf/prog_tests/trace_ext.c
+++ b/tools/testing/selftests/bpf/prog_tests/trace_ext.c
@@ -60,7 +60,7 @@ void test_trace_ext(void)
}
err = test_trace_ext__attach(skel_ext);
- if (CHECK(err, "setup", "freplace/test_pkt_md_access attach failed:
%d\n", err))
+ if (!ASSERT_OK(err, "setup replace/test_pkt_md_access attach"))
goto cleanup;
prog = skel_ext->progs.test_pkt_md_access_new;
--
2.43.0