selftests/bpf: Replace CHECK with ASSERT macros for ksyms test
authorYonghong Song <yonghong.song@linux.dev>
Tue, 26 Mar 2024 04:14:48 +0000 (21:14 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 29 Mar 2024 01:31:41 +0000 (18:31 -0700)
Replace CHECK with ASSERT macros for ksyms tests.
This test failed earlier with clang lto kernel, but the
issue is gone with latest code base. But replacing
CHECK with ASSERT still improves code as ASSERT is
preferred in selftests.

Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/r/20240326041448.1197812-1-yonghong.song@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/prog_tests/ksyms.c

index b295969b263b3b6769cbcfcdd50ac8f63213869f..dc7aab532fb1479d3966837b96458d06d3ddb49b 100644 (file)
@@ -5,8 +5,6 @@
 #include "test_ksyms.skel.h"
 #include <sys/stat.h>
 
-static int duration;
-
 void test_ksyms(void)
 {
        const char *btf_path = "/sys/kernel/btf/vmlinux";
@@ -18,43 +16,37 @@ void test_ksyms(void)
        int err;
 
        err = kallsyms_find("bpf_link_fops", &link_fops_addr);
-       if (CHECK(err == -EINVAL, "kallsyms_fopen", "failed to open: %d\n", errno))
+       if (!ASSERT_NEQ(err, -EINVAL, "bpf_link_fops: kallsyms_fopen"))
                return;
-       if (CHECK(err == -ENOENT, "ksym_find", "symbol 'bpf_link_fops' not found\n"))
+       if (!ASSERT_NEQ(err, -ENOENT, "bpf_link_fops: ksym_find"))
                return;
 
        err = kallsyms_find("__per_cpu_start", &per_cpu_start_addr);
-       if (CHECK(err == -EINVAL, "kallsyms_fopen", "failed to open: %d\n", errno))
+       if (!ASSERT_NEQ(err, -EINVAL, "__per_cpu_start: kallsyms_fopen"))
                return;
-       if (CHECK(err == -ENOENT, "ksym_find", "symbol 'per_cpu_start' not found\n"))
+       if (!ASSERT_NEQ(err, -ENOENT, "__per_cpu_start: ksym_find"))
                return;
 
-       if (CHECK(stat(btf_path, &st), "stat_btf", "err %d\n", errno))
+       if (!ASSERT_OK(stat(btf_path, &st), "stat_btf"))
                return;
        btf_size = st.st_size;
 
        skel = test_ksyms__open_and_load();
-       if (CHECK(!skel, "skel_open", "failed to open and load skeleton\n"))
+       if (!ASSERT_OK_PTR(skel, "test_ksyms__open_and_load"))
                return;
 
        err = test_ksyms__attach(skel);
-       if (CHECK(err, "skel_attach", "skeleton attach failed: %d\n", err))
+       if (!ASSERT_OK(err, "test_ksyms__attach"))
                goto cleanup;
 
        /* trigger tracepoint */
        usleep(1);
 
        data = skel->data;
-       CHECK(data->out__bpf_link_fops != link_fops_addr, "bpf_link_fops",
-             "got 0x%llx, exp 0x%llx\n",
-             data->out__bpf_link_fops, link_fops_addr);
-       CHECK(data->out__bpf_link_fops1 != 0, "bpf_link_fops1",
-             "got %llu, exp %llu\n", data->out__bpf_link_fops1, (__u64)0);
-       CHECK(data->out__btf_size != btf_size, "btf_size",
-             "got %llu, exp %llu\n", data->out__btf_size, btf_size);
-       CHECK(data->out__per_cpu_start != per_cpu_start_addr, "__per_cpu_start",
-             "got %llu, exp %llu\n", data->out__per_cpu_start,
-             per_cpu_start_addr);
+       ASSERT_EQ(data->out__bpf_link_fops, link_fops_addr, "bpf_link_fops");
+       ASSERT_EQ(data->out__bpf_link_fops1, 0, "bpf_link_fops1");
+       ASSERT_EQ(data->out__btf_size, btf_size, "btf_size");
+       ASSERT_EQ(data->out__per_cpu_start, per_cpu_start_addr, "__per_cpu_start");
 
 cleanup:
        test_ksyms__destroy(skel);