Lines Matching refs:env
42 struct test_env env = {}; variable
97 if (stdout == env.stdout) in dump_test_log()
102 if (env.verbosity > VERBOSE_NONE || test->force_log || failed) { in dump_test_log()
103 if (env.log_cnt) { in dump_test_log()
104 env.log_buf[env.log_cnt] = '\0'; in dump_test_log()
105 fprintf(env.stdout, "%s", env.log_buf); in dump_test_log()
106 if (env.log_buf[env.log_cnt - 1] != '\n') in dump_test_log()
107 fprintf(env.stdout, "\n"); in dump_test_log()
116 if (env.test->skip_cnt) { in skip_account()
117 env.skip_cnt++; in skip_account()
118 env.test->skip_cnt = 0; in skip_account()
133 for (i = 0; i < env.nr_cpus; i++) in reset_affinity()
152 env.saved_netns_fd = open("/proc/self/ns/net", O_RDONLY); in save_netns()
153 if (env.saved_netns_fd == -1) { in save_netns()
161 if (setns(env.saved_netns_fd, CLONE_NEWNET) == -1) { in restore_netns()
170 struct prog_test_def *test = env.test; in test__end_subtest()
175 fprintf(env.stdout, "#%d/%d %s/%s:%s\n", in test__end_subtest()
180 env.fail_cnt++; in test__end_subtest()
182 env.sub_succ_cnt++; in test__end_subtest()
191 struct prog_test_def *test = env.test; in test__start_subtest()
199 fprintf(env.stderr, in test__start_subtest()
205 if (!should_run(&env.subtest_selector, test->subtest_num, name)) in test__start_subtest()
210 fprintf(env.stderr, in test__start_subtest()
215 env.test->old_error_cnt = env.test->error_cnt; in test__start_subtest()
221 env.test->force_log = true; in test__force_log()
226 env.test->skip_cnt++; in test__skip()
231 env.test->error_cnt++; in test__fail()
238 if (!env.test->need_cgroup_cleanup) { in test__join_cgroup()
242 env.test->test_num, env.test->test_name); in test__join_cgroup()
246 env.test->need_cgroup_cleanup = true; in test__join_cgroup()
253 env.test->test_num, env.test->test_name, path, errno); in test__join_cgroup()
260 env.test->test_num, env.test->test_name, path, errno); in test__join_cgroup()
407 fprintf(env.stderr, "Failed to trigger kernel-side RCU sync!\n"); in unload_bpf_testmod()
410 if (env.verbosity > VERBOSE_NONE) in unload_bpf_testmod()
414 fprintf(env.stderr, "Failed to unload bpf_testmod.ko from kernel: %d\n", -errno); in unload_bpf_testmod()
417 if (env.verbosity > VERBOSE_NONE) in unload_bpf_testmod()
428 if (env.verbosity > VERBOSE_NONE) in load_bpf_testmod()
433 fprintf(env.stderr, "Can't find bpf_testmod.ko kernel module: %d\n", -errno); in load_bpf_testmod()
437 fprintf(env.stderr, "Failed to load bpf_testmod.ko into the kernel: %d\n", -errno); in load_bpf_testmod()
443 if (env.verbosity > VERBOSE_NONE) in load_bpf_testmod()
504 if (env.verbosity < VERBOSE_VERY && level == LIBBPF_DEBUG) in libbpf_print_fn()
573 struct test_env *env = state->input; in parse_arg() local
582 &env->subtest_selector.num_set, in parse_arg()
583 &env->subtest_selector.num_set_len)) { in parse_arg()
589 if (parse_num_list(arg, &env->test_selector.num_set, in parse_arg()
590 &env->test_selector.num_set_len)) { in parse_arg()
603 &env->subtest_selector.whitelist, in parse_arg()
607 if (parse_str_list(arg, &env->test_selector.whitelist, in parse_arg()
619 &env->subtest_selector.blacklist, in parse_arg()
623 if (parse_str_list(arg, &env->test_selector.blacklist, in parse_arg()
629 env->verifier_stats = true; in parse_arg()
632 env->verbosity = VERBOSE_NORMAL; in parse_arg()
635 env->verbosity = VERBOSE_VERY; in parse_arg()
638 env->verbosity = VERBOSE_SUPER; in parse_arg()
648 if (env->verbosity > VERBOSE_NONE) { in parse_arg()
659 env->get_test_cnt = true; in parse_arg()
662 env->list_test_names = true; in parse_arg()
678 env.stdout = stdout; in stdio_hijack()
679 env.stderr = stderr; in stdio_hijack()
681 if (env.verbosity > VERBOSE_NONE) { in stdio_hijack()
689 stdout = open_memstream(&env.log_buf, &env.log_cnt); in stdio_hijack()
691 stdout = env.stdout; in stdio_hijack()
703 if (stdout == env.stdout) in stdio_restore()
707 free(env.log_buf); in stdio_restore()
709 env.log_buf = NULL; in stdio_restore()
710 env.log_cnt = 0; in stdio_restore()
712 stdout = env.stdout; in stdio_restore()
713 stderr = env.stderr; in stdio_restore()
740 if (env.verbosity > VERBOSE_NONE) in cd_flavor_subdir()
754 if (env.test) in crash_handler()
755 dump_test_log(env.test, true); in crash_handler()
756 if (env.stdout) in crash_handler()
778 err = argp_parse(&argp, argc, argv, 0, NULL, &env); in main()
793 env.jit_enabled = is_jit_enabled(); in main()
794 env.nr_cpus = libbpf_num_possible_cpus(); in main()
795 if (env.nr_cpus < 0) { in main()
797 env.nr_cpus); in main()
803 env.has_testmod = true; in main()
804 if (!env.list_test_names && load_bpf_testmod()) { in main()
805 fprintf(env.stderr, "WARNING! Selftests relying on bpf_testmod.ko will be skipped.\n"); in main()
806 env.has_testmod = false; in main()
811 env.test = test; in main()
814 if (!should_run(&env.test_selector, in main()
818 if (env.get_test_cnt) { in main()
819 env.succ_cnt++; in main()
823 if (env.list_test_names) { in main()
824 fprintf(env.stdout, "%s\n", test->test_name); in main()
825 env.succ_cnt++; in main()
838 fprintf(env.stdout, "#%d %s:%s\n", in main()
843 env.fail_cnt++; in main()
845 env.succ_cnt++; in main()
853 if (!env.list_test_names && env.has_testmod) in main()
857 if (env.get_test_cnt) { in main()
858 printf("%d\n", env.succ_cnt); in main()
862 if (env.list_test_names) in main()
866 env.succ_cnt, env.sub_succ_cnt, env.skip_cnt, env.fail_cnt); in main()
869 free_str_set(&env.test_selector.blacklist); in main()
870 free_str_set(&env.test_selector.whitelist); in main()
871 free(env.test_selector.num_set); in main()
872 free_str_set(&env.subtest_selector.blacklist); in main()
873 free_str_set(&env.subtest_selector.whitelist); in main()
874 free(env.subtest_selector.num_set); in main()
875 close(env.saved_netns_fd); in main()
877 if (env.succ_cnt + env.fail_cnt + env.skip_cnt == 0) in main()
880 return env.fail_cnt ? EXIT_FAILURE : EXIT_SUCCESS; in main()