selftests/bpf: Fix test test_libbpf_str/bpf_map_type_str
authorYonghong Song <yhs@fb.com>
Wed, 26 Oct 2022 04:29:06 +0000 (21:29 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 26 Oct 2022 06:19:19 +0000 (23:19 -0700)
Previous bpf patch made a change to uapi bpf.h like
  @@ -922,7 +922,14 @@ enum bpf_map_type {
        BPF_MAP_TYPE_SOCKHASH,
  -     BPF_MAP_TYPE_CGROUP_STORAGE,
  +     BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED,
  +     BPF_MAP_TYPE_CGROUP_STORAGE = BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED,
        BPF_MAP_TYPE_REUSEPORT_SOCKARRAY,
where BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED and BPF_MAP_TYPE_CGROUP_STORAGE
have the same enum value. This will cause selftest test_libbpf_str/bpf_map_type_str
failing. This patch fixed the issue by avoid the check for
BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED in the test.

Signed-off-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/r/20221026042906.674830-1-yhs@fb.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/prog_tests/libbpf_str.c

index 93e9cdd..efb8bd4 100644 (file)
@@ -139,6 +139,14 @@ static void test_libbpf_bpf_map_type_str(void)
                snprintf(buf, sizeof(buf), "BPF_MAP_TYPE_%s", map_type_str);
                uppercase(buf);
 
+               /* Special case for map_type_name BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED
+                * where it and BPF_MAP_TYPE_CGROUP_STORAGE have the same enum value
+                * (map_type). For this enum value, libbpf_bpf_map_type_str() picks
+                * BPF_MAP_TYPE_CGROUP_STORAGE.
+                */
+               if (strcmp(map_type_name, "BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED") == 0)
+                       continue;
+
                ASSERT_STREQ(buf, map_type_name, "exp_str_value");
        }