TEST_BTF
TEST_BTF(str, int, BTF_F_NONAME, "1234", 1234);
TEST_BTF(str, int, 0, "(int)0", 0);
TEST_BTF(str, int, BTF_F_NONAME, "0", 0);
TEST_BTF(str, int, BTF_F_ZERO, "(int)0", 0);
TEST_BTF(str, int, BTF_F_NONAME | BTF_F_ZERO, "0", 0);
TEST_BTF(str, int, BTF_F_NONAME, "-4567", -4567);
TEST_BTF(str, char, BTF_F_NONAME, "100", 100);
TEST_BTF(str, char, 0, "(char)0", 0);
TEST_BTF(str, char, BTF_F_NONAME, "0", 0);
TEST_BTF(str, char, BTF_F_ZERO, "(char)0", 0);
TEST_BTF(str, char, BTF_F_NONAME | BTF_F_ZERO, "0", 0);
TEST_BTF(str, u64, BTF_F_NONAME, "1", 1);
TEST_BTF(str, u64, 0, "(u64)0", 0);
TEST_BTF(str, u64, BTF_F_NONAME, "0", 0);
TEST_BTF(str, u64, BTF_F_ZERO, "(u64)0", 0);
TEST_BTF(str, u64, BTF_F_NONAME|BTF_F_ZERO, "0", 0);
TEST_BTF(str, atomic_t, BTF_F_NONAME, "{1,}", {.counter = 1,});
TEST_BTF(str, atomic_t, 0, "(atomic_t){}", {.counter = 0,});
TEST_BTF(str, atomic_t, BTF_F_NONAME, "{}", {.counter = 0,});
TEST_BTF(str, atomic_t, BTF_F_ZERO, "(atomic_t){.counter = (int)0,}",
TEST_BTF(str, atomic_t, BTF_F_NONAME|BTF_F_ZERO,
TEST_BTF(str, enum bpf_cmd, 0, "(enum bpf_cmd)BPF_MAP_CREATE", 0);
TEST_BTF(str, enum bpf_cmd, BTF_F_NONAME, "BPF_MAP_CREATE",
TEST_BTF(str, enum bpf_cmd, BTF_F_NONAME|BTF_F_ZERO,
TEST_BTF(str, enum bpf_cmd, BTF_F_ZERO, "(enum bpf_cmd)BPF_MAP_CREATE",
TEST_BTF(str, enum bpf_cmd, BTF_F_NONAME|BTF_F_ZERO,
TEST_BTF(str, enum bpf_cmd, BTF_F_NONAME, "2000", 2000);
TEST_BTF(str, struct btf_enum, BTF_F_NONAME, "{3,-1,}",
TEST_BTF(str, struct btf_enum, BTF_F_NONAME, "{-1,}",
TEST_BTF(str, struct btf_enum, BTF_F_NONAME|BTF_F_ZERO, "{0,-1,}",
TEST_BTF(str, struct btf_enum, 0, "(struct btf_enum){}",
TEST_BTF(str, struct btf_enum, BTF_F_NONAME, "{}",
TEST_BTF(str, struct btf_enum, BTF_F_ZERO,
TEST_BTF(str, struct list_head, BTF_F_PTR_RAW,
TEST_BTF(str, struct list_head, BTF_F_PTR_RAW,
TEST_BTF(str, struct bpf_prog_info, 0,
TEST_BTF(str, struct bpf_prog_info, BTF_F_NONAME,
TEST_BTF(str, struct bpf_prog_info, 0,
TEST_BTF(str, struct bpf_prog_info, 0,
TEST_BTF(str, struct __sk_buff, 0,
TEST_BTF(str, struct __sk_buff, BTF_F_NONAME,
TEST_BTF(str, struct __sk_buff, 0,
TEST_BTF(str, struct bpf_insn, BTF_F_NONAME, "{1,0x2,0x3,4,5,}",
TEST_BTF(_str, _type, _flags, "(" #_type ")" #__VA_ARGS__, \