test__start_subtest
if (!test__start_subtest(test->descr))
if (test__start_subtest("add"))
if (test__start_subtest("sub"))
if (test__start_subtest("and"))
if (test__start_subtest("or"))
if (test__start_subtest("xor"))
if (test__start_subtest("cmpxchg"))
if (test__start_subtest("xchg"))
if (test__start_subtest("uaf"))
if (test__start_subtest("load_acquire"))
if (test__start_subtest("store_release"))
if (test__start_subtest("arena_htab_llvm"))
if (test__start_subtest("arena_htab_asm"))
if (test__start_subtest("arena_list_1"))
if (test__start_subtest("arena_list_1000"))
if (test__start_subtest("arena_list_1_nonsleepable"))
if (test__start_subtest("arena_list_1000_nonsleepable"))
if (test__start_subtest("arena_spin_lock_1"))
if (test__start_subtest("arena_spin_lock_1000"))
if (test__start_subtest("arena_spin_lock_50000"))
if (test__start_subtest("arena_strsearch"))
if (test__start_subtest("test_parse_test_list"))
if (test__start_subtest("test_parse_test_list_file"))
if (test__start_subtest("tcpv4"))
if (test__start_subtest("tcpv6"))
if (test__start_subtest("udpv4"))
if (test__start_subtest("udpv6"))
if (test__start_subtest("add"))
if (test__start_subtest("sub"))
if (test__start_subtest("and"))
if (test__start_subtest("or"))
if (test__start_subtest("xor"))
if (test__start_subtest("cmpxchg"))
if (test__start_subtest("xchg"))
if (test__start_subtest("manual-default"))
if (test__start_subtest("manual-legacy"))
if (test__start_subtest("manual-perf"))
if (test__start_subtest("manual-link"))
if (test__start_subtest("auto"))
if (test__start_subtest("kprobe-sleepable"))
if (test__start_subtest("uprobe-lib"))
if (test__start_subtest("uprobe-sleepable"))
if (test__start_subtest("uprobe-ref_ctr"))
if (test__start_subtest("uprobe-long_name"))
if (test__start_subtest("kprobe-long_name"))
if (test__start_subtest("kprobe-write-ctx"))
if (test__start_subtest("invalid_prog_reuse"))
if (test__start_subtest("unused_program"))
if (test__start_subtest("kprobe"))
if (test__start_subtest("multi_kprobe_link_api"))
if (test__start_subtest("multi_kprobe_attach_api"))
if (test__start_subtest("uprobe"))
if (test__start_subtest("multi_uprobe_attach_api"))
if (test__start_subtest("tracepoint"))
if (test__start_subtest("perf_event"))
if (test__start_subtest("trampoline"))
if (test__start_subtest("lsm"))
if (test__start_subtest("tp_btf"))
if (test__start_subtest("raw_tp"))
if (test__start_subtest("one-switch"))
if (test__start_subtest("one-switch-non-zero-sec-offset"))
if (test__start_subtest("two-switches"))
if (test__start_subtest("big-jump-table"))
if (test__start_subtest("static-global"))
if (test__start_subtest("nonstatic-global"))
if (test__start_subtest("other-sec"))
if (test__start_subtest("static-global-other-sec"))
if (test__start_subtest("nonstatic-global-other-sec"))
if (test__start_subtest("one-jump-two-maps"))
if (test__start_subtest("one-map-two-jumps"))
if (test__start_subtest("check-ldimm64-off"))
if (test__start_subtest("check-ldimm64-off-gotox"))
if (test__start_subtest("one2one"))
if (test__start_subtest("simple"))
if (test__start_subtest("deletions"))
if (test__start_subtest("deletions-with-functions"))
if (test__start_subtest("blindness"))
if (test__start_subtest("incorrect-index"))
if (test__start_subtest("load-unfrozen-map"))
if (test__start_subtest("no-map-reuse"))
if (test__start_subtest("bpf-side-ops"))
if (test__start_subtest("btf_id_or_null"))
if (test__start_subtest("ipv6_route"))
if (test__start_subtest("netlink"))
if (test__start_subtest("bpf_map"))
if (test__start_subtest("task_tid"))
if (test__start_subtest("task_pid"))
if (test__start_subtest("task_pidfd"))
if (test__start_subtest("task_sleepable"))
if (test__start_subtest("task_stack"))
if (test__start_subtest("task_file"))
if (test__start_subtest("task_vma"))
if (test__start_subtest("task_vma_dead_task"))
if (test__start_subtest("task_btf"))
if (test__start_subtest("tcp4"))
if (test__start_subtest("tcp6"))
if (test__start_subtest("udp4"))
if (test__start_subtest("udp6"))
if (test__start_subtest("unix"))
if (test__start_subtest("anon"))
if (test__start_subtest("anon-read-one-char"))
if (test__start_subtest("file"))
if (test__start_subtest("overflow"))
if (test__start_subtest("overflow-e2big"))
if (test__start_subtest("prog-ret-1"))
if (test__start_subtest("bpf_hash_map"))
if (test__start_subtest("bpf_percpu_hash_map"))
if (test__start_subtest("bpf_array_map"))
if (test__start_subtest("bpf_array_map_iter_fd"))
if (test__start_subtest("bpf_percpu_array_map"))
if (test__start_subtest("bpf_sk_storage_map"))
if (test__start_subtest("bpf_sk_storage_map_iter_fd"))
if (test__start_subtest("bpf_sk_storage_delete"))
if (test__start_subtest("bpf_sk_storage_get"))
if (test__start_subtest("rdonly-buf-out-of-bound"))
if (test__start_subtest("buf-neg-offset"))
if (test__start_subtest("link-iter"))
if (test__start_subtest("ksym"))
if (test__start_subtest("bpf_sockmap_map_iter_fd"))
if (test__start_subtest("vma_offset"))
if (test__start_subtest("check_nr_loops"))
if (test__start_subtest("check_callback_fn_stop"))
if (test__start_subtest("check_null_callback_ctx"))
if (test__start_subtest("check_invalid_flags"))
if (test__start_subtest("check_nested_calls"))
if (test__start_subtest("check_non_constant_callback"))
if (test__start_subtest("check_stack"))
if (test__start_subtest("ksym (used_btfs UAF)"))
if (test__start_subtest("kfunc (kfunc_btf_tab UAF)"))
if (test__start_subtest("xdp-ct"))
if (test__start_subtest("tc-bpf-ct"))
if (test__start_subtest(test_bpf_nf_fail_tests[i].prog_name))
if (test__start_subtest("detached"))
if (test__start_subtest("mounted-str-abs"))
if (test__start_subtest("mounted-str-rel"))
if (test__start_subtest("mounted-fd-rel"))
if (test__start_subtest("fifo"))
if (test__start_subtest("fq"))
if (test__start_subtest("attach to mq"))
if (test__start_subtest("attach to non root"))
if (test__start_subtest("incompl_ops"))
if (test__start_subtest("dctcp"))
if (test__start_subtest("cubic"))
if (test__start_subtest("invalid_license"))
if (test__start_subtest("dctcp_fallback"))
if (test__start_subtest("rel_setsockopt"))
if (test__start_subtest("write_sk_pacing"))
if (test__start_subtest("incompl_cong_ops"))
if (test__start_subtest("unsupp_cong_op"))
if (test__start_subtest("update_ca"))
if (test__start_subtest("update_wrong"))
if (test__start_subtest("mixed_links"))
if (test__start_subtest("multi_links"))
if (test__start_subtest("link_replace"))
if (test__start_subtest("tcp_ca_kfunc"))
if (test__start_subtest("cc_cubic"))
if (test__start_subtest("dctcp_autoattach_map"))
if (!test__start_subtest(current->name))
if (test__start_subtest("nested_maps"))
if (test__start_subtest("btf_list"))
if (!test__start_subtest(tests[i].name))
if (!test__start_subtest(test->descr))
if (!test__start_subtest(test->descr))
if (!test__start_subtest(test->file))
if (!test__start_subtest(test->descr))
if (!test__start_subtest(test->descr))
if (!test__start_subtest(test->descr))
if (test__start_subtest("split_simple"))
if (test__start_subtest("split_struct_duped"))
if (test__start_subtest("split_fwd_resolve"))
if (test__start_subtest("split_dup_struct_in_cu"))
if (test__start_subtest("split_module"))
if (test__start_subtest("distilled_base"))
if (test__start_subtest("distilled_base_multi"))
if (test__start_subtest("distilled_base_missing_err"))
if (test__start_subtest("distilled_base_multi_err"))
if (test__start_subtest("distilled_base_multi_err2"))
if (test__start_subtest("distilled_base_embedded_err"))
if (test__start_subtest("distilled_base_vmlinux"))
if (test__start_subtest("distilled_endianness"))
if (!test__start_subtest(t->name))
if (test__start_subtest("btf_dump: incremental"))
if (test__start_subtest("btf_dump: type_tags"))
if (test__start_subtest("btf_dump: int_data"))
if (test__start_subtest("btf_dump: float_data"))
if (test__start_subtest("btf_dump: char_data"))
if (test__start_subtest("btf_dump: typedef_data"))
if (test__start_subtest("btf_dump: enum_data"))
if (test__start_subtest("btf_dump: struct_data"))
if (test__start_subtest("btf_dump: var_data"))
if (test__start_subtest("btf_dump: string_data"))
if (test__start_subtest("btf_dump: datasec_data"))
if (test__start_subtest("lookup_update"))
if (test__start_subtest("diff_size"))
if (test__start_subtest("permute_base"))
if (test__start_subtest("permute_split"))
if (!test__start_subtest(tests[i].desc))
if (test__start_subtest("single_split"))
if (test__start_subtest("multi_split"))
if (test__start_subtest("btf_decl_tag"))
if (test__start_subtest("btf_type_tag"))
if (test__start_subtest("btf_type_tag_user_mod1"))
if (test__start_subtest("btf_type_tag_user_mod2"))
if (test__start_subtest("btf_type_tag_sys_user_vmlinux"))
if (test__start_subtest("btf_type_tag_percpu_mod1"))
if (test__start_subtest("btf_type_tag_percpu_mod2"))
if (test__start_subtest("btf_type_tag_percpu_vmlinux_load"))
if (test__start_subtest("btf_type_tag_percpu_vmlinux_helper"))
if (test__start_subtest("btf_add"))
if (test__start_subtest("btf_add_btf"))
if (test__start_subtest("nofault-paged-out"))
if (test__start_subtest("nofault-paged-in"))
if (test__start_subtest("sleepable"))
if (test__start_subtest("egress_only"))
if (test__start_subtest("isolated"))
if (test__start_subtest("shared"))
if (test__start_subtest("test_cgroup1_hierarchy")) {
if (test__start_subtest("test_root_cgid")) {
if (test__start_subtest("test_invalid_level")) {
if (test__start_subtest("test_invalid_cgid")) {
if (test__start_subtest("test_invalid_hid")) {
if (test__start_subtest("test_invalid_cgrp_name")) {
if (test__start_subtest("test_invalid_cgrp_name2")) {
if (test__start_subtest("test_sleepable_prog")) {
if (test__start_subtest("allow-write"))
if (test__start_subtest("deny-mknod"))
if (test__start_subtest("deny-read"))
if (test__start_subtest("deny-write"))
if (test__start_subtest("deny-mknod-wrong-type"))
if (test__start_subtest("allow-mknod"))
if (test__start_subtest("allow-read"))
if (test__start_subtest("setsockopt-set"))
if (test__start_subtest("setsockopt-set_and_get"))
if (test__start_subtest("setsockopt-default_zero"))
if (test__start_subtest("setsockopt-default_zero_and_set"))
if (test__start_subtest("setsockopt-override"))
if (test__start_subtest("setsockopt-legacy_eperm"))
if (test__start_subtest("setsockopt-legacy_no_override"))
if (test__start_subtest("getsockopt-get"))
if (test__start_subtest("getsockopt-override"))
if (test__start_subtest("getsockopt-retval_sync"))
if (test__start_subtest("exposed_hooks"))
if (test__start_subtest("cgroup_iter__invalid_cgroup"))
if (test__start_subtest("cgroup_iter__invalid_cgroup_spec"))
if (test__start_subtest("cgroup_iter__preorder"))
if (test__start_subtest("cgroup_iter__postorder"))
if (test__start_subtest("cgroup_iter__ancestors_up_walk"))
if (test__start_subtest("cgroup_iter__early_termination"))
if (test__start_subtest("cgroup_iter__self_only"))
if (test__start_subtest("cgroup_iter__dead_self_only"))
if (test__start_subtest("cgroup_iter__self_only_css_task"))
if (test__start_subtest("cgroup_iter__children"))
if (test__start_subtest("cgroup_iter_memcg__anon"))
if (test__start_subtest("cgroup_iter_memcg__shmem"))
if (test__start_subtest("cgroup_iter_memcg__file"))
if (test__start_subtest("cgroup_iter_memcg__kmem"))
if (test__start_subtest("cgroup_iter_memcg__pgfault"))
if (test__start_subtest("prog_attach_detach"))
if (test__start_subtest("link_attach_detach"))
if (test__start_subtest("preorder_prog_attach_detach"))
if (test__start_subtest("preorder_link_attach_detach"))
if (test__start_subtest("invalid_attach_detach"))
if (test__start_subtest("read_cgroupfs_xattr"))
if (!test__start_subtest(success_tests[i]))
if (test__start_subtest("test_cgrp_from_id_ns"))
if (test__start_subtest("tp_btf"))
if (test__start_subtest("attach_cgroup"))
if (test__start_subtest("recursion"))
if (test__start_subtest("negative"))
if (test__start_subtest("cgroup_iter_sleepable"))
if (test__start_subtest("yes_rcu_lock"))
if (test__start_subtest("no_rcu_lock"))
if (test__start_subtest("cgrp1_tp_btf"))
if (test__start_subtest("cgrp1_recursion"))
if (test__start_subtest("cgrp1_negative"))
if (test__start_subtest("cgrp1_iter_sleepable"))
if (test__start_subtest("cgrp1_yes_rcu_lock"))
if (test__start_subtest("cgrp1_no_rcu_lock"))
if (test__start_subtest("bpf_check_mtu XDP-attach"))
if (test__start_subtest("bpf_check_mtu XDP-run"))
if (test__start_subtest("bpf_check_mtu XDP-run ifindex-lookup"))
if (test__start_subtest("bpf_check_mtu TC-run"))
if (test__start_subtest("bpf_check_mtu TC-run ifindex-lookup"))
if (!test__start_subtest(tmp))
if (test__start_subtest("cls_redirect_inlined"))
if (test__start_subtest("cls_redirect_subprogs"))
if (test__start_subtest("cls_redirect_dynptr"))
if (test__start_subtest("ipv4"))
if (test__start_subtest("ipv4-bind"))
if (test__start_subtest("ipv6"))
if (test__start_subtest("ipv6-bind"))
if (!test__start_subtest(t->name))
if (!test__start_subtest(test_case->case_name))
if (test__start_subtest("bad_local_id"))
if (!test__start_subtest(cpumask_success_testcases[i]))
if (!test__start_subtest(test->name))
if (test__start_subtest("basic"))
if (test__start_subtest("check_rdonly_mem"))
if (test__start_subtest("check_alloc_mem"))
if (test__start_subtest("check_mem_access"))
if (test__start_subtest("unpriv_userns_create_no_bpf"))
if (test__start_subtest("userns_create_bpf"))
if (test__start_subtest("no_infinite_reads"))
if (test__start_subtest("default_iter"))
if (test__start_subtest("lots_of_buffers")) {
if (test__start_subtest("open_coded"))
if (test__start_subtest("dummy_st_ops_attach"))
if (test__start_subtest("dummy_init_ret_value"))
if (test__start_subtest("dummy_init_ptr_arg"))
if (test__start_subtest("dummy_multiple_args"))
if (test__start_subtest("dummy_sleepable"))
if (test__start_subtest("dummy_sleepable_reject_null"))
if (!test__start_subtest(success_tests[i].prog_name))
if (test__start_subtest("non-throwing fentry -> exception_cb"))
if (test__start_subtest("throwing fentry -> exception_cb"))
if (test__start_subtest("non-throwing fexit -> exception_cb"))
if (test__start_subtest("throwing fexit -> exception_cb"))
if (test__start_subtest("throwing extension (with custom cb) -> exception_cb"))
if (test__start_subtest("throwing extension -> global func in exception_cb"))
if (test__start_subtest("throwing extension (with custom cb) -> global func in exception_cb"))
if (test__start_subtest("non-throwing fentry -> non-throwing subprog"))
if (test__start_subtest("throwing fentry -> non-throwing subprog"))
if (test__start_subtest("non-throwing fentry -> throwing subprog"))
if (test__start_subtest("throwing fentry -> throwing subprog"))
if (test__start_subtest("non-throwing fexit -> non-throwing subprog"))
if (test__start_subtest("throwing fexit -> non-throwing subprog"))
if (test__start_subtest("non-throwing fexit -> throwing subprog"))
if (test__start_subtest("throwing fexit -> throwing subprog"))
if (test__start_subtest("non-throwing fmod_ret -> non-throwing subprog"))
if (test__start_subtest("non-throwing fmod_ret -> non-throwing global subprog"))
if (test__start_subtest("non-throwing extension -> non-throwing subprog"))
if (test__start_subtest("non-throwing extension -> throwing subprog"))
if (test__start_subtest("non-throwing extension -> non-throwing subprog"))
if (test__start_subtest("non-throwing extension -> throwing global subprog"))
if (test__start_subtest("throwing extension -> throwing global subprog"))
if (test__start_subtest("throwing extension -> non-throwing global subprog"))
if (test__start_subtest("non-throwing extension -> main subprog"))
if (test__start_subtest("throwing extension -> main subprog"))
if (!test__start_subtest(#_prog)) goto _prog##_##return_val; \
if (test__start_subtest("no-fd-array"))
if (test__start_subtest("fd-array-ok"))
if (test__start_subtest("fd-array-dup-input"))
if (test__start_subtest("fd-array-ref-maps-in-array"))
if (test__start_subtest("fd-array-ref-btfs"))
if (test__start_subtest("fd-array-trash-input"))
if (test__start_subtest("fd-array-2big"))
if (test__start_subtest("fentry"))
if (test__start_subtest("fentry_many_args"))
if (test__start_subtest("target_no_callees"))
if (test__start_subtest("target_yes_callees"))
if (test__start_subtest("func_replace"))
if (test__start_subtest("func_replace_verify"))
if (test__start_subtest("func_sockmap_update"))
if (test__start_subtest("func_replace_return_code"))
if (test__start_subtest("func_map_prog_compatibility"))
if (test__start_subtest("func_replace_unreliable"))
if (test__start_subtest("func_replace_multi"))
if (test__start_subtest("fmod_ret_freplace"))
if (test__start_subtest("func_replace_global_func"))
if (test__start_subtest("fentry_to_cgroup_bpf"))
if (test__start_subtest("func_replace_progmap"))
if (test__start_subtest("fexit"))
if (test__start_subtest("fexit_many_args"))
if (test__start_subtest("on_open_expect_fault"))
if (test__start_subtest("on_open_validate_file_read"))
if (test__start_subtest("negative"))
if (test__start_subtest("kprobe_link_info"))
if (test__start_subtest("kretprobe_link_info"))
if (test__start_subtest("kprobe_invalid_ubuff"))
if (test__start_subtest("tracepoint_link_info"))
if (test__start_subtest("event_link_info"))
if (test__start_subtest("uprobe_link_info"))
if (test__start_subtest("uretprobe_link_info"))
if (test__start_subtest("kprobe_multi_link_info")) {
if (test__start_subtest("kretprobe_multi_link_info")) {
if (test__start_subtest("kprobe_multi_invalid_ubuff"))
if (test__start_subtest("uprobe_multi_link_info"))
if (test__start_subtest("uretprobe_multi_link_info"))
if (test__start_subtest("uprobe_multi_invalid"))
if (!test__start_subtest(test_name))
if (!test__start_subtest(test_name))
if (!test__start_subtest(tests_input[i].name))
if (test__start_subtest(test_name))
if (test__start_subtest("hash_map"))
if (test__start_subtest("array_map"))
if (test__start_subtest("write_map_key"))
if (test__start_subtest("multi_maps"))
if (test__start_subtest("hash_modify"))
if (test__start_subtest("user_xattr"))
if (test__start_subtest("security_bpf_xattr"))
if (test__start_subtest("security_bpf_xattr_error"))
if (test__start_subtest("security_selinux_xattr_error"))
if (test__start_subtest("set_remove_xattr"))
if (test__start_subtest("fsverity"))
if (test__start_subtest("fsession_test"))
if (test__start_subtest("fsession_reattach"))
if (test__start_subtest("fsession_cookie"))
if (test__start_subtest("global_map_resize_bss"))
if (test__start_subtest("global_map_resize_data"))
if (test__start_subtest("global_map_resize_invalid"))
if (test__start_subtest("generic"))
if (test__start_subtest("multimap"))
if (test__start_subtest("empty"))
if (test__start_subtest("ptr_iface"))
if (test__start_subtest("reenter_update"))
if (test__start_subtest("concurrent_update"))
if (test__start_subtest("v4"))
if (test__start_subtest("v6"))
if (test__start_subtest("num"))
if (test__start_subtest("testmod_seq"))
if (test__start_subtest("task_vma"))
if (test__start_subtest("task"))
if (test__start_subtest("css_task"))
if (test__start_subtest("css"))
if (!test__start_subtest(kfunc_tests[i].prog_name))
if (test__start_subtest("subprog"))
if (test__start_subtest("subprog_lskel"))
if (test__start_subtest("destructive"))
if (!test__start_subtest(kfunc_dynptr_tests[i].prog_name))
if (test__start_subtest("check_task_struct"))
if (test__start_subtest("check_slabinfo"))
if (test__start_subtest("open_coded_iter"))
if (test__start_subtest("kernel"))
if (test__start_subtest("modules"))
if (test__start_subtest("kernel"))
if (test__start_subtest("modules"))
if (test__start_subtest("skel_api"))
if (test__start_subtest("link_api_addrs"))
if (test__start_subtest("link_api_syms"))
if (test__start_subtest("attach_api_pattern"))
if (test__start_subtest("attach_api_addrs"))
if (test__start_subtest("attach_api_syms"))
if (test__start_subtest("attach_api_fails"))
if (test__start_subtest("attach_override"))
if (test__start_subtest("override"))
if (test__start_subtest("session"))
if (test__start_subtest("session_cookie"))
if (test__start_subtest("unique_match"))
if (test__start_subtest("attach_write_ctx"))
if (test__start_subtest("testmod_attach_api_syms"))
if (test__start_subtest("testmod_attach_api_addrs"))
if (test__start_subtest("basic"))
if (test__start_subtest("null_check"))
if (test__start_subtest("weak_ksyms"))
if (test__start_subtest("weak_ksyms_lskel"))
if (test__start_subtest("write_check1"))
if (test__start_subtest("write_check2"))
if (test__start_subtest("lskel"))
if (test__start_subtest("libbpf"))
if (test__start_subtest("l4lb_inline"))
if (test__start_subtest("l4lb_noinline"))
if (test__start_subtest("l4lb_noinline_dynptr"))
if (!test__start_subtest(buf))
if (!test__start_subtest(prog_type_name))
if (!test__start_subtest(map_type_name))
if (test__start_subtest("bpf_attach_type_str"))
if (test__start_subtest("bpf_link_type_str"))
if (test__start_subtest("bpf_map_type_str"))
if (test__start_subtest("bpf_prog_type_str"))
if (test__start_subtest("pin_tp_btf"))
if (test__start_subtest("pin_raw_tp"))
while (test__start_subtest("btf: too many locks")) {
while (test__start_subtest("btf: missing lock")) {
while (test__start_subtest("btf: bad offset")) {
while (test__start_subtest("btf: missing contains:")) {
while (test__start_subtest("btf: missing struct")) {
while (test__start_subtest("btf: missing node")) {
while (test__start_subtest("btf: node incorrect type")) {
while (test__start_subtest("btf: multiple bpf_list_node with name b")) {
while (test__start_subtest("btf: owning | owned AA cycle")) {
while (test__start_subtest("btf: owning | owned ABA cycle")) {
while (test__start_subtest("btf: owning -> owned")) {
while (test__start_subtest("btf: owning -> owning | owned -> owned")) {
while (test__start_subtest("btf: owning | owned -> owning | owned -> owned")) {
while (test__start_subtest("btf: owning -> owning | owned -> owning | owned -> owned")) {
while (test__start_subtest("btf: list_node and rb_node in same struct")) {
while (test__start_subtest("btf: list_node and rb_node in same struct, no bpf_refcount")) {
if (!test__start_subtest(linked_list_fail_tests[i].prog_name))
if (test__start_subtest("fentry_first"))
if (test__start_subtest("fexit_first"))
if (test__start_subtest("local_kptr_stash_simple"))
if (test__start_subtest("local_kptr_stash_plain"))
if (test__start_subtest("local_kptr_stash_local_with_root"))
if (test__start_subtest("local_kptr_stash_unstash"))
if (test__start_subtest("refcount_acquire_without_unstash"))
if (test__start_subtest("local_kptr_stash_fail"))
if (test__start_subtest("obj_load_log_buf"))
if (test__start_subtest("bpf_prog_load_log_buf"))
if (test__start_subtest("bpf_btf_load_log_buf"))
if (test__start_subtest("bad_core_relo_trunc_none"))
if (test__start_subtest("bad_core_relo_trunc_partial"))
if (test__start_subtest("bad_core_relo_trunc_full"))
if (test__start_subtest("bad_core_relo_subprog"))
if (test__start_subtest("missing_map"))
if (test__start_subtest("missing_kfunc"))
if (test__start_subtest("lookup_and_delete"))
if (test__start_subtest("lookup_and_delete_percpu"))
if (test__start_subtest("lookup_and_delete_lru"))
if (test__start_subtest("lookup_and_delete_lru_percpu"))
if (test__start_subtest("functional"))
if (test__start_subtest("nonvoid"))
if (test__start_subtest(#name)) \
if (test__start_subtest("egress"))
if (test__start_subtest("ingress"))
if (test__start_subtest("egress"))
if (test__start_subtest("ingress"))
if (test__start_subtest("egress"))
if (test__start_subtest("ingress"))
if (test__start_subtest("egress"))
if (test__start_subtest("ingress"))
if (test__start_subtest("array_btf"))
if (test__start_subtest("inner_array_btf"))
if (test__start_subtest("map_excl_allowed"))
if (test__start_subtest("map_excl_denied"))
if (test__start_subtest("acc_map_in_array"))
if (test__start_subtest("sleepable_acc_map_in_array"))
if (test__start_subtest("acc_map_in_htab"))
if (test__start_subtest("sleepable_acc_map_in_htab"))
if (test__start_subtest("update_map_in_htab"))
if (test__start_subtest("update_map_in_alloc_htab"))
if (test__start_subtest("pcpu_map_init"))
if (test__start_subtest("pcpu_lru_map_init"))
if (test__start_subtest("success-map")) {
if (test__start_subtest("htab_leak"))
if (test__start_subtest("percpu_htab_leak"))
if (test__start_subtest("sk_ls_leak"))
if (test__start_subtest("map_ops_update_delete"))
if (test__start_subtest("map_ops_push_peek_pop"))
if (test__start_subtest("map_ops_for_each"))
if (test__start_subtest("unused"))
if (test__start_subtest("used"))
test__start_subtest(test_cases[i].name);
if (test__start_subtest("perf_kprobe"))
if (test__start_subtest("kprobe_recursion"))
if (test__start_subtest("tp_recursion"))
if (test__start_subtest("base"))
if (test__start_subtest("mptcpify"))
if (test__start_subtest("subflow"))
if (test__start_subtest("sockmap"))
if (test__start_subtest("INET4: bpf timestamping"))
if (test__start_subtest("INET4: bpf and socket timestamping"))
if (test__start_subtest("INET6: bpf timestamping"))
if (test__start_subtest("INET6: bpf and socket timestamping"))
if (!test__start_subtest(nf_hook_link_tests[i].name))
if (test__start_subtest("root_ns_tp"))
if (test__start_subtest("new_ns_tp"))
if (test__start_subtest("parse_tcp_hdr_opt"))
if (test__start_subtest("parse_tcp_hdr_opt_dynptr"))
if (test__start_subtest("array"))
if (test__start_subtest("array_sleepable"))
if (test__start_subtest("cgrp_local_storage"))
if (test__start_subtest("failure_tests"))
if (test__start_subtest("cpu_flag_percpu_array"))
if (test__start_subtest("cpu_flag_percpu_hash"))
if (test__start_subtest("cpu_flag_lru_percpu_hash"))
if (test__start_subtest("cpu_flag_percpu_cgroup_storage"))
if (test__start_subtest("cpu_flag_array"))
if (test__start_subtest("cpu_flag_hash"))
if (test__start_subtest("perf_branches_hw"))
if (test__start_subtest("perf_branches_no_hw"))
if (test__start_subtest("timer_prealloc"))
if (test__start_subtest("timer_no_prealloc"))
if (test__start_subtest("prepare_load"))
if (test__start_subtest("prepare_no_load"))
if (test__start_subtest("tailcall"))
if (test__start_subtest(cases[i].name)) {
if (test__start_subtest("test_good_subtest"))
if (test__start_subtest("test_skip_subtest")) {
if (test__start_subtest("test_skip_subtest")) {
if (test__start_subtest("test_fail_subtest")) {
if (test__start_subtest("rbtree_add_nodes"))
if (test__start_subtest("rbtree_add_nodes_nested"))
if (test__start_subtest("rbtree_add_and_remove"))
if (test__start_subtest("rbtree_add_and_remove_array"))
if (test__start_subtest("rbtree_first_and_remove"))
if (test__start_subtest("rbtree_api_release_aliasing"))
if (test__start_subtest("rbtree_btf_fail__" #suffix)) \
if (test__start_subtest("success"))
if (test__start_subtest("rcuptr_acquire"))
if (test__start_subtest("negative_tests_inproper_region"))
if (test__start_subtest("negative_tests_rcuptr_misuse"))
if (!test__start_subtest(t->subtest_name))
if (test__start_subtest("attach"))
if (test__start_subtest("load"))
if (test__start_subtest("detach"))
if (!test__start_subtest(name))
if (is_subtest && !test__start_subtest(sb->buf))
if (test__start_subtest("ringbuf"))
if (test__start_subtest("ringbuf_n"))
if (test__start_subtest("ringbuf_map_key"))
if (test__start_subtest("ringbuf_write"))
if (test__start_subtest("ringbuf_overwrite_mode"))
if (!test__start_subtest(s))
if (test__start_subtest("send_signal_tracepoint"))
if (test__start_subtest("send_signal_perf"))
if (test__start_subtest("send_signal_nmi"))
if (test__start_subtest("send_signal_tracepoint_thread"))
if (test__start_subtest("send_signal_perf_thread"))
if (test__start_subtest("send_signal_nmi_thread"))
if (test__start_subtest("send_signal_tracepoint_remote"))
if (test__start_subtest("send_signal_perf_remote"))
if (test__start_subtest("send_signal_nmi_remote"))
if (test__start_subtest("send_signal_tracepoint_thread_remote"))
if (test__start_subtest("send_signal_perf_thread_remote"))
if (test__start_subtest("send_signal_nmi_thread_remote"))
if (!test__start_subtest(test->name))
if (test__start_subtest(test_cases[i].name))
if (test__start_subtest(t->desc))
if (test__start_subtest("sk_assign returns EEXIST"))
if (test__start_subtest("sk_assign honors F_REPLACE"))
if (test__start_subtest("sk_assign accepts NULL socket"))
if (test__start_subtest("access ctx->sk"))
if (test__start_subtest("narrow access to ctx v4"))
if (test__start_subtest("narrow access to ctx v6"))
if (test__start_subtest("sk_assign rejects TCP established"))
if (test__start_subtest("sk_assign rejects UDP connected"))
if (test__start_subtest(t->desc))
if (test__start_subtest("query lookup prog"))
if (test__start_subtest(t->desc))
if (test__start_subtest(t->desc))
if (test__start_subtest("snprintf_positive"))
if (test__start_subtest("snprintf_negative"))
if (!test__start_subtest(test->name))
if (!test__start_subtest(tests[i].descr))
if (test__start_subtest("tcp_client"))
if (test__start_subtest("tcp_server"))
if (test__start_subtest("udp_client"))
if (test__start_subtest("udp_server"))
if (test__start_subtest(resume_tests[i].description)) {
if (test__start_subtest("tcp")) {
if (test__start_subtest("udp")) {
if (!test__start_subtest(tests[i].descr))
if (test__start_subtest("sockmap create_update_free"))
if (test__start_subtest("sockhash create_update_free"))
if (test__start_subtest("sockmap vsock delete on close"))
if (test__start_subtest("sockmap sk_msg load helpers"))
if (test__start_subtest("sockhash sk_msg load helpers"))
if (test__start_subtest("sockmap update"))
if (test__start_subtest("sockhash update"))
if (test__start_subtest("sockmap update in unsafe context"))
if (test__start_subtest("sockmap copy"))
if (test__start_subtest("sockhash copy"))
if (test__start_subtest("sockmap skb_verdict attach")) {
if (test__start_subtest("sockmap skb_verdict attach_with_link"))
if (test__start_subtest("sockmap msg_verdict progs query"))
if (test__start_subtest("sockmap stream_parser progs query"))
if (test__start_subtest("sockmap stream_verdict progs query"))
if (test__start_subtest("sockmap skb_verdict progs query"))
if (test__start_subtest("sockmap skb_verdict shutdown"))
if (test__start_subtest("sockmap skb_verdict fionread"))
if (test__start_subtest("sockmap skb_verdict fionread on drop"))
if (test__start_subtest("sockmap skb_verdict change tail"))
if (test__start_subtest("sockmap skb_verdict msg_f_peek"))
if (test__start_subtest("sockmap skb_verdict msg_f_peek with link"))
if (test__start_subtest("sockmap unconnected af_unix"))
if (test__start_subtest("sockmap one socket to many map entries"))
if (test__start_subtest("sockmap one socket to many maps"))
if (test__start_subtest("sockmap same socket replace"))
if (test__start_subtest("sockmap sk_msg attach sockmap helpers with link"))
if (test__start_subtest("sockhash sk_msg attach sockhash helpers with link"))
if (test__start_subtest("sockmap skb_verdict vsock poll"))
if (test__start_subtest("sockmap vsock unconnected"))
if (test__start_subtest("sockmap with zc"))
if (test__start_subtest("sockmap recover"))
if (test__start_subtest("sockmap recover with strp"))
if (test__start_subtest("sockmap tcp multi channels"))
if (test__start_subtest("sockmap udp multi channels"))
if (test__start_subtest(fmt_test_name("update_fails_when_sock_has_ulp", family, map_type)))
if (test__start_subtest("tls simple offload"))
if (test__start_subtest("tls tx cork"))
if (test__start_subtest("tls tx cork with push"))
if (test__start_subtest("tls tx egress with no buf"))
if (test__start_subtest("tls tx with pop"))
if (!test__start_subtest(s))
if (!test__start_subtest(s))
if (!test__start_subtest(s))
if (!test__start_subtest(s))
if (test__start_subtest("sockmap strp tcp pass"))
if (test__start_subtest("sockmap strp tcp v6 pass"))
if (test__start_subtest("sockmap strp tcp pass fionread"))
if (test__start_subtest("sockmap strp tcp v6 pass fionread"))
if (test__start_subtest("sockmap strp tcp verdict"))
if (test__start_subtest("sockmap strp tcp v6 verdict"))
if (test__start_subtest("sockmap strp tcp partial read"))
if (test__start_subtest("sockmap strp tcp multiple packets"))
if (test__start_subtest("sockmap strp tcp dispatch"))
if (!test__start_subtest(tests[i].descr))
if (!test__start_subtest(spin_lock_fail_tests[i].prog_name))
if (test__start_subtest("kprobe_multi"))
if (test__start_subtest("kretprobe_multi"))
if (test__start_subtest("raw_tp"))
if (test__start_subtest("kprobe"))
if (test__start_subtest("kretprobe"))
if (test__start_subtest("fentry"))
if (test__start_subtest("fexit"))
if (test__start_subtest("read_fault"))
if (test__start_subtest("write_fault"))
if (!test__start_subtest(test_name))
if (test__start_subtest("cant_load_full_object"))
if (test__start_subtest("can_load_partial_object"))
if (test__start_subtest("autoload_and_shadow_vars"))
if (test__start_subtest("optional_maps"))
if (test__start_subtest("private_stack_fail"))
if (test__start_subtest("private_stack_recur"))
if (test__start_subtest("private_stack"))
if (test__start_subtest("subprogs_alone"))
if (test__start_subtest("subprogs_and_jit_harden"))
if (test__start_subtest("skel_subskel"))
if (test__start_subtest("obj_subskel"))
if (!test__start_subtest(buf))
if (test__start_subtest("load_prog"))
if (test__start_subtest("update_outer_map"))
if (test__start_subtest("tailcall_1"))
if (test__start_subtest("tailcall_2"))
if (test__start_subtest("tailcall_3"))
if (test__start_subtest("tailcall_4"))
if (test__start_subtest("tailcall_5"))
if (test__start_subtest("tailcall_6"))
if (test__start_subtest("tailcall_bpf2bpf_1"))
if (test__start_subtest("tailcall_bpf2bpf_2"))
if (test__start_subtest("tailcall_bpf2bpf_3"))
if (test__start_subtest("tailcall_bpf2bpf_4"))
if (test__start_subtest("tailcall_bpf2bpf_5"))
if (test__start_subtest("tailcall_bpf2bpf_6"))
if (test__start_subtest("tailcall_bpf2bpf_fentry"))
if (test__start_subtest("tailcall_bpf2bpf_fexit"))
if (test__start_subtest("tailcall_bpf2bpf_fentry_fexit"))
if (test__start_subtest("tailcall_bpf2bpf_fentry_entry"))
if (test__start_subtest("tailcall_poke"))
if (test__start_subtest("tailcall_bpf2bpf_hierarchy_1"))
if (test__start_subtest("tailcall_bpf2bpf_hierarchy_fentry"))
if (test__start_subtest("tailcall_bpf2bpf_hierarchy_fexit"))
if (test__start_subtest("tailcall_bpf2bpf_hierarchy_fentry_fexit"))
if (test__start_subtest("tailcall_bpf2bpf_hierarchy_fentry_entry"))
if (test__start_subtest("tailcall_freplace"))
if (test__start_subtest("tailcall_bpf2bpf_freplace"))
if (test__start_subtest("tailcall_failure"))
if (test__start_subtest("tailcall_sleepable"))
if (!test__start_subtest(success_tests[i]))
if (!test__start_subtest(vpid_success_tests[i]))
if (test__start_subtest("sys_enter_exit"))
if (test__start_subtest("exit_creds"))
if (test__start_subtest("recursion"))
if (test__start_subtest("nodeadlock"))
if (test__start_subtest("uptr_basic"))
if (test__start_subtest("uptr_across_pages"))
if (test__start_subtest("uptr_update_failure"))
if (test__start_subtest("uptr_map_failure_e2big")) {
if (test__start_subtest("uptr_map_failure_size0"))
if (test__start_subtest("uptr_map_failure_kstruct"))
if (test__start_subtest("no_delete"))
if (test__start_subtest("with_delete"))
if (test__start_subtest("tc_bpf_root"))
if (test__start_subtest("tc_bpf_non_root"))
if (test__start_subtest(#name)) \
if (!test__start_subtest(test_cases[i].name))
if (!test__start_subtest(tests[i].desc))
if (test__start_subtest("batch_alloc_free"))
if (test__start_subtest("free_through_map_free"))
if (test__start_subtest("batch_percpu_alloc_free"))
if (test__start_subtest("percpu_free_through_map_free"))
if (test__start_subtest("topo"))
if (test__start_subtest("line_func_info"))
if (test__start_subtest("csum_diff_push"))
if (test__start_subtest("csum_diff_pull"))
if (test__start_subtest("csum_diff_diff"))
if (test__start_subtest("csum_diff_edge"))
if (test__start_subtest("ctx_arg_rewrite"))
if (test__start_subtest("map_val and probed_memory"))
if (test__start_subtest("ctx_member_sign_ext"))
if (test__start_subtest("ctx_member_narrow_sign_ext"))
if (test__start_subtest("lsm_basic"))
if (test__start_subtest("lsm_tailcall"))
if (test__start_subtest("strncmp_ret"))
if (test__start_subtest("strncmp_bad_not_const_str_size"))
if (test__start_subtest("strncmp_bad_writable_target"))
if (test__start_subtest("strncmp_bad_not_null_term_target"))
if (test__start_subtest("st_ops_assoc"))
if (test__start_subtest("st_ops_assoc_reuse"))
if (test__start_subtest("st_ops_assoc_in_timer"))
if (test__start_subtest("st_ops_assoc_in_timer_no_uref"))
if (test__start_subtest("st_ops_id_ops_mapping"))
if (test__start_subtest("maybe_null"))
if (test__start_subtest("maybe_null_fail"))
if (test__start_subtest("struct_ops_load"))
if (test__start_subtest("struct_ops_not_zeroed"))
if (test__start_subtest("struct_ops_incompatible"))
if (test__start_subtest("struct_ops_null_out_cb"))
if (test__start_subtest("struct_ops_forgotten_cb"))
if (test__start_subtest("test_detach_link"))
if (test__start_subtest("multi_pages"))
if (test__start_subtest("load_bpf_test_no_cfi"))
if (test__start_subtest("task_local_data_basic"))
if (test__start_subtest("task_local_data_race"))
if (test__start_subtest("test_task_work_hash_map"))
if (test__start_subtest("test_task_work_array_map"))
if (test__start_subtest("test_task_work_lru_map"))
if (ret < 0 || !test__start_subtest(cfg->name))
if (test__start_subtest(#name)) { \
if (test__start_subtest("set_global_vars_succeeds"))
if (test__start_subtest("set_global_vars_out_of_range"))
if (test__start_subtest("set_global_vars_from_file_succeeds"))
if (test__start_subtest("test_unsupported_ptr_array_type"))
if (test__start_subtest("test_array_out_of_bounds"))
if (test__start_subtest("test_array_index_not_found"))
if (test__start_subtest("test_array_index_for_non_array"))
if (test__start_subtest("test_no_array_index_for_array"))
if (test__start_subtest("0"))
if (test__start_subtest("DRV_MODE"))
if (test__start_subtest("SKB_MODE"))
if (test__start_subtest("0/BROADCAST"))
if (test__start_subtest("0/(BROADCAST | EXCLUDE_INGRESS)"))
if (test__start_subtest("DRV_MODE/BROADCAST"))
if (test__start_subtest("DRV_MODE/(BROADCAST | EXCLUDE_INGRESS)"))
if (test__start_subtest("SKB_MODE/BROADCAST"))
if (test__start_subtest("SKB_MODE/(BROADCAST | EXCLUDE_INGRESS)"))
if (test__start_subtest("0/egress"))
if (test__start_subtest("DRV_MODE/egress"))
if (test__start_subtest("SKB_MODE/egress"))
if (test__start_subtest("array"))
if (test__start_subtest("hash"))
if (test__start_subtest("map_token")) {
if (test__start_subtest("btf_token")) {
if (test__start_subtest("prog_token")) {
if (test__start_subtest("obj_priv_map")) {
if (test__start_subtest("obj_priv_prog")) {
if (test__start_subtest("obj_priv_freplace_prog")) {
if (test__start_subtest("obj_priv_freplace_prog_fail")) {
if (test__start_subtest("obj_priv_btf_fail")) {
if (test__start_subtest("obj_priv_btf_success")) {
if (test__start_subtest("obj_priv_implicit_token")) {
if (test__start_subtest("obj_priv_implicit_token_envvar")) {
if (test__start_subtest("bpf_token_info")) {
if (test__start_subtest("bpf_spin_lock"))
if (test__start_subtest("bpf_spin_unlock"))
if (test__start_subtest("tracing_deny"))
if (test__start_subtest("fexit_noreturns"))
if (test__start_subtest("struct_args"))
if (test__start_subtest("struct_many_args"))
if (test__start_subtest("union_args"))
if (test__start_subtest("xdp"))
if (test__start_subtest("tc"))
if (test__start_subtest("negative"))
if (test__start_subtest("unpriv_bpf_disabled_positive"))
if (test__start_subtest("unpriv_bpf_disabled_negative"))
if (test__start_subtest("regs_change_common"))
if (test__start_subtest("regs_change_ip"))
if (test__start_subtest("attach"))
if (test__start_subtest("skel_api"))
if (test__start_subtest("attach_api_pattern"))
if (test__start_subtest("attach_api_syms"))
if (test__start_subtest("link_api"))
if (test__start_subtest("bench_uprobe"))
if (test__start_subtest("bench_usdt"))
if (test__start_subtest("attach_api_fails"))
if (test__start_subtest("attach_uprobe_fails"))
if (test__start_subtest("consumers"))
if (test__start_subtest("filter_fork"))
if (test__start_subtest("filter_clone_vm"))
if (test__start_subtest("session"))
if (test__start_subtest("session_single"))
if (test__start_subtest("session_cookie"))
if (test__start_subtest("session_cookie_recursive"))
if (test__start_subtest("uretprobe_regs_equal"))
if (test__start_subtest("uretprobe_syscall_call"))
if (test__start_subtest("uretprobe_shadow_stack"))
if (test__start_subtest("uprobe_legacy"))
if (test__start_subtest("uprobe_multi"))
if (test__start_subtest("uprobe_session"))
if (test__start_subtest("uprobe_usdt"))
if (test__start_subtest("uprobe_race"))
if (test__start_subtest("uprobe_error"))
if (test__start_subtest("uprobe_regs_equal"))
if (test__start_subtest("regs_change"))
if (test__start_subtest("basic"))
if (test__start_subtest("basic_optimized"))
if (test__start_subtest("multispec"))
if (test__start_subtest("urand_auto_attach"))
if (test__start_subtest("urand_pid_attach"))
if (!test__start_subtest(success_tests[i].test_name))
if (test__start_subtest("good_prog-level1"))
if (test__start_subtest("good_prog-level2"))
if (test__start_subtest("bad_prog-level1"))
if (test__start_subtest("bad_prog-level2"))
if (test__start_subtest("bad_btf"))
if (test__start_subtest("good_btf"))
if (test__start_subtest("pkcs7_sig_from_map"))
if (test__start_subtest("pkcs7_sig_fsverity"))
if (test__start_subtest("tc_socket_lookup_tcp"))
if (test__start_subtest("tc_socket_lookup_tcp_skc"))
if (test__start_subtest("tc_socket_lookup_udp"))
if (test__start_subtest("xdp_socket_lookup_tcp"))
if (test__start_subtest("xdp_socket_lookup_tcp_skc"))
if (test__start_subtest("xdp_socket_lookup_udp"))
if (test__start_subtest("test_failure_map_no_btf"))
if (test__start_subtest("xdp_adjust_frags"))
if (test__start_subtest("xdp_adjust_tail_shrink"))
if (test__start_subtest("xdp_adjust_tail_grow"))
if (test__start_subtest("xdp_adjust_tail_grow2"))
if (test__start_subtest("xdp_adjust_frags_tail_shrink"))
if (test__start_subtest("xdp_adjust_frags_tail_grow")) {
if (test__start_subtest("xdp_attach"))
if (test__start_subtest("xdp_attach_dynptr"))
if (test__start_subtest("xdp_attach_failed"))
if (test__start_subtest("xdp_bonding_attach"))
if (test__start_subtest("xdp_bonding_nested"))
if (test__start_subtest("xdp_bonding_features"))
if (test__start_subtest(test_case->name))
if (test__start_subtest("xdp_bonding_xmit_policy_compat"))
if (test__start_subtest("xdp_bonding_redirect_multi"))
if (test__start_subtest("data_meta"))
if (test__start_subtest("dynptr_read"))
if (test__start_subtest("dynptr_slice"))
if (test__start_subtest("dynptr_write"))
if (test__start_subtest("dynptr_slice_rdwr"))
if (test__start_subtest("dynptr_offset"))
if (test__start_subtest("dynptr_offset_oob"))
if (test__start_subtest("clone_data_meta_survives_data_write"))
if (test__start_subtest("clone_data_meta_survives_meta_write"))
if (test__start_subtest("clone_meta_dynptr_survives_data_slice_write"))
if (test__start_subtest("clone_meta_dynptr_survives_meta_slice_write"))
if (test__start_subtest("clone_meta_dynptr_rw_before_data_dynptr_write"))
if (test__start_subtest("clone_meta_dynptr_rw_before_meta_dynptr_write"))
if (test__start_subtest("helper_skb_vlan_push_pop"))
if (test__start_subtest("helper_skb_adjust_room"))
if (test__start_subtest("helper_skb_change_head_tail"))
if (test__start_subtest("helper_skb_change_proto"))
if (test__start_subtest("CPUMAP with programs in entries"))
if (test__start_subtest("CPUMAP with frags programs in entries"))
if (test__start_subtest("DEVMAP with programs in entries"))
if (test__start_subtest("DEVMAP with frags programs in entries"))
if (test__start_subtest("Verifier check of DEVMAP programs")) {
if (test__start_subtest("DEVMAP with programs in entries on veth"))
if (test__start_subtest("noflag"))
if (test__start_subtest("drvflag"))
if (test__start_subtest("skbflag"))
if (test__start_subtest("xdp_pull_data"))
if (test__start_subtest("xdp"))
if (test__start_subtest("tc"))
if (test__start_subtest("0"))
if (test__start_subtest("DRV_MODE"))
if (test__start_subtest("SKB_MODE"))
if (test__start_subtest("0"))
if (test__start_subtest("DRV_MODE"))
if (test__start_subtest("SKB_MODE"))
if (test__start_subtest("xfrm_info"))
if (test__start_subtest(tests[i].name))
if (test__start_subtest(tests[i].name))
if (!test__start_subtest(subspec->name))
bool test__start_subtest(const char *name);