Lines Matching full:env
24 return env.verbosity > VERBOSE_NONE; in verbose()
30 if (verbose() && env.worker_id == -1) { in stdio_hijack_init()
40 stdout = env.stdout; in stdio_hijack_init()
45 if (env.subtest_state) in stdio_hijack_init()
46 env.subtest_state->stdout = stdout; in stdio_hijack_init()
48 env.test_state->stdout = stdout; in stdio_hijack_init()
57 if (verbose() && env.worker_id == -1) { in stdio_hijack()
62 env.stdout = stdout; in stdio_hijack()
63 env.stderr = stderr; in stdio_hijack()
72 if (verbose() && env.worker_id == -1) { in stdio_restore_cleanup()
79 if (env.subtest_state) { in stdio_restore_cleanup()
80 fclose(env.subtest_state->stdout); in stdio_restore_cleanup()
81 env.subtest_state->stdout = NULL; in stdio_restore_cleanup()
82 stdout = env.test_state->stdout; in stdio_restore_cleanup()
83 stderr = env.test_state->stdout; in stdio_restore_cleanup()
85 fclose(env.test_state->stdout); in stdio_restore_cleanup()
86 env.test_state->stdout = NULL; in stdio_restore_cleanup()
94 if (verbose() && env.worker_id == -1) { in stdio_restore()
99 if (stdout == env.stdout) in stdio_restore()
104 stdout = env.stdout; in stdio_restore()
105 stderr = env.stderr; in stdio_restore()
135 struct test_env env = {}; variable
233 fprintf(env.stdout, "#%-*d %s:", TEST_NUM_WIDTH, test->test_num, test->test_name); in print_test_result()
235 fprintf(env.stdout, "FAIL"); in print_test_result()
237 fprintf(env.stdout, "OK"); in print_test_result()
239 fprintf(env.stdout, "SKIP"); in print_test_result()
241 fprintf(env.stdout, "OK (SKIP: %d/%d)", skipped_cnt, subtests_cnt); in print_test_result()
243 fprintf(env.stdout, "\n"); in print_test_result()
249 fprintf(env.stdout, "%s", log_buf); in print_test_log()
251 fprintf(env.stdout, "\n"); in print_test_log()
262 fprintf(env.stdout, "#%-*s %s/%s", in print_subtest_name()
267 fprintf(env.stdout, ":%s", result); in print_subtest_name()
269 fprintf(env.stdout, "\n"); in print_subtest_name()
300 if (env.worker_id != -1) in dump_test_log()
370 for (i = 0; i < env.nr_cpus; i++) in reset_affinity()
389 env.saved_netns_fd = open("/proc/self/ns/net", O_RDONLY); in save_netns()
390 if (env.saved_netns_fd == -1) { in save_netns()
398 if (setns(env.saved_netns_fd, CLONE_NEWNET) == -1) { in restore_netns()
407 struct prog_test_def *test = env.test; in test__end_subtest()
408 struct test_state *test_state = env.test_state; in test__end_subtest()
409 struct subtest_state *subtest_state = env.subtest_state; in test__end_subtest()
420 if (verbose() && !env.workers) in test__end_subtest()
427 env.subtest_state = NULL; in test__end_subtest()
432 struct prog_test_def *test = env.test; in test__start_subtest()
433 struct test_state *state = env.test_state; in test__start_subtest()
437 if (env.subtest_state) in test__start_subtest()
454 fprintf(env.stderr, in test__start_subtest()
462 fprintf(env.stderr, in test__start_subtest()
468 if (!should_run_subtest(&env.test_selector, in test__start_subtest()
469 &env.subtest_selector, in test__start_subtest()
477 env.subtest_state = subtest_state; in test__start_subtest()
485 env.test_state->force_log = true; in test__force_log()
490 if (env.subtest_state) in test__skip()
491 env.subtest_state->skipped = true; in test__skip()
493 env.test_state->skip_cnt++; in test__skip()
498 if (env.subtest_state) in test__fail()
499 env.subtest_state->error_cnt++; in test__fail()
501 env.test_state->error_cnt++; in test__fail()
508 if (!env.test->need_cgroup_cleanup) { in test__join_cgroup()
512 env.test->test_num, env.test->test_name); in test__join_cgroup()
516 env.test->need_cgroup_cleanup = true; in test__join_cgroup()
523 env.test->test_num, env.test->test_name, path, errno); in test__join_cgroup()
530 env.test->test_num, env.test->test_name, path, errno); in test__join_cgroup()
707 if (env.verbosity < VERBOSE_VERY && level == LIBBPF_DEBUG) in libbpf_print_fn()
742 struct test_env *env = state->input; in parse_arg() local
752 &env->subtest_selector.num_set, in parse_arg()
753 &env->subtest_selector.num_set_len)) { in parse_arg()
759 if (parse_num_list(arg, &env->test_selector.num_set, in parse_arg()
760 &env->test_selector.num_set_len)) { in parse_arg()
770 &env->test_selector.whitelist, in parse_arg()
774 &env->test_selector.whitelist, in parse_arg()
783 &env->test_selector.blacklist, in parse_arg()
787 &env->test_selector.blacklist, in parse_arg()
793 env->verifier_stats = true; in parse_arg()
796 env->verbosity = VERBOSE_NORMAL; in parse_arg()
799 env->verbosity = VERBOSE_VERY; in parse_arg()
802 env->verbosity = VERBOSE_SUPER; in parse_arg()
823 env->get_test_cnt = true; in parse_arg()
826 env->list_test_names = true; in parse_arg()
830 env->workers = atoi(arg); in parse_arg()
831 if (!env->workers) { in parse_arg()
836 env->workers = get_nprocs(); in parse_arg()
840 env->debug = true; in parse_arg()
843 env->json = fopen(arg, "w"); in parse_arg()
844 if (env->json == NULL) { in parse_arg()
992 if (env.stdout) in crash_handler()
994 if (env.test) { in crash_handler()
995 env.test_state->error_cnt++; in crash_handler()
996 dump_test_log(env.test, env.test_state, true, false, NULL); in crash_handler()
998 if (env.worker_id != -1) in crash_handler()
999 fprintf(stderr, "[%d]: ", env.worker_id); in crash_handler()
1008 for (i = 0; i < env.workers; i++) in sigint_handler()
1009 if (env.worker_socks[i] > 0) in sigint_handler()
1010 close(env.worker_socks[i]); in sigint_handler()
1053 if (env.debug) in send_message()
1066 if (env.debug) in recv_message()
1077 env.test = test; in run_one_test()
1078 env.test_state = state; in run_one_test()
1088 if (env.subtest_state) in run_one_test()
1093 if (verbose() && env.worker_id == -1) in run_one_test()
1226 env.worker_current_test[data->worker_id] = test_to_run; in dispatch_thread()
1266 if (env.debug) in dispatch_thread()
1275 if (env.debug) in dispatch_thread()
1283 static void calculate_summary_and_print_errors(struct test_env *env) in calculate_summary_and_print_errors() argument
1304 if (env->json) { in calculate_summary_and_print_errors()
1305 w = jsonw_new(env->json); in calculate_summary_and_print_errors()
1307 fprintf(env->stderr, "Failed to create new JSON stream."); in calculate_summary_and_print_errors()
1346 if (env->json) in calculate_summary_and_print_errors()
1347 fclose(env->json); in calculate_summary_and_print_errors()
1352 env->succ_cnt = succ_cnt; in calculate_summary_and_print_errors()
1353 env->sub_succ_cnt = sub_succ_cnt; in calculate_summary_and_print_errors()
1354 env->fail_cnt = fail_cnt; in calculate_summary_and_print_errors()
1355 env->skip_cnt = skip_cnt; in calculate_summary_and_print_errors()
1370 dispatcher_threads = calloc(sizeof(pthread_t), env.workers); in server_main()
1371 data = calloc(sizeof(struct dispatch_data), env.workers); in server_main()
1373 env.worker_current_test = calloc(sizeof(int), env.workers); in server_main()
1374 for (i = 0; i < env.workers; i++) { in server_main()
1378 data[i].sock_fd = env.worker_socks[i]; in server_main()
1387 for (i = 0; i < env.workers; i++) { in server_main()
1394 if (env.debug) in server_main()
1396 i, env.worker_current_test[i] + 1); in server_main()
1406 free(env.worker_current_test); in server_main()
1425 calculate_summary_and_print_errors(&env); in server_main()
1428 for (i = 0; i < env.workers; i++) { in server_main()
1431 pid = waitpid(env.worker_pids[i], &wstatus, 0); in server_main()
1432 if (pid != env.worker_pids[i]) in server_main()
1535 if (env.debug) in worker_main()
1537 env.worker_id); in worker_main()
1545 if (env.debug) in worker_main()
1547 env.worker_id, in worker_main()
1585 if (env.debug) in worker_main()
1587 env.worker_id, in worker_main()
1593 if (env.debug) in worker_main()
1594 fprintf(stderr, "[%d]: unknown message.\n", env.worker_id); in worker_main()
1634 err = argp_parse(&argp, argc, argv, 0, NULL, &env); in main()
1648 env.jit_enabled = is_jit_enabled(); in main()
1649 env.nr_cpus = libbpf_num_possible_cpus(); in main()
1650 if (env.nr_cpus < 0) { in main()
1652 env.nr_cpus); in main()
1656 env.stdout = stdout; in main()
1657 env.stderr = stderr; in main()
1659 env.has_testmod = true; in main()
1660 if (!env.list_test_names) { in main()
1665 fprintf(env.stderr, "WARNING! Selftests relying on bpf_testmod.ko will be skipped.\n"); in main()
1666 env.has_testmod = false; in main()
1675 test->should_run = should_run(&env.test_selector, in main()
1687 if (env.get_test_cnt || env.list_test_names) in main()
1688 env.workers = 0; in main()
1691 env.worker_id = -1; /* main process */ in main()
1692 if (env.workers) { in main()
1693 env.worker_pids = calloc(sizeof(__pid_t), env.workers); in main()
1694 env.worker_socks = calloc(sizeof(int), env.workers); in main()
1695 if (env.debug) in main()
1696 fprintf(stdout, "Launching %d workers.\n", env.workers); in main()
1697 for (i = 0; i < env.workers; i++) { in main()
1711 env.worker_pids[i] = pid; in main()
1712 env.worker_socks[i] = sv[0]; in main()
1715 env.worker_id = i; in main()
1720 if (env.worker_id == -1) { in main()
1737 if (env.get_test_cnt) { in main()
1738 env.succ_cnt++; in main()
1742 if (env.list_test_names) { in main()
1743 fprintf(env.stdout, "%s\n", test->test_name); in main()
1744 env.succ_cnt++; in main()
1751 if (env.get_test_cnt) { in main()
1752 printf("%d\n", env.succ_cnt); in main()
1756 if (env.list_test_names) in main()
1759 calculate_summary_and_print_errors(&env); in main()
1761 close(env.saved_netns_fd); in main()
1763 if (!env.list_test_names && env.has_testmod) in main()
1766 free_test_selector(&env.test_selector); in main()
1767 free_test_selector(&env.subtest_selector); in main()
1770 if (env.succ_cnt + env.fail_cnt + env.skip_cnt == 0) in main()
1773 return env.fail_cnt ? EXIT_FAILURE : EXIT_SUCCESS; in main()