Lines Matching +full:stdout +full:- +full:path

1 // SPDX-License-Identifier: GPL-2.0-only
32 if (sel->name && sel->name[0] && !strstr(name, sel->name)) in should_run()
35 if (!sel->num_set) in should_run()
38 return num < sel->num_set_len && sel->num_set[num]; in should_run()
43 if (stdout == env.stdout) in dump_test_log()
46 fflush(stdout); /* exports env.log_buf & env.log_cnt */ in dump_test_log()
48 if (env.verbose || test->force_log || failed) { in dump_test_log()
51 fprintf(env.stdout, "%s", env.log_buf); in dump_test_log()
52 if (env.log_buf[env.log_cnt - 1] != '\n') in dump_test_log()
53 fprintf(env.stdout, "\n"); in dump_test_log()
57 fseeko(stdout, 0, SEEK_SET); /* rewind */ in dump_test_log()
62 if (env.test->skip_cnt) { in skip_account()
64 env.test->skip_cnt = 0; in skip_account()
71 int sub_error_cnt = test->error_cnt - test->old_error_cnt; in test__end_subtest()
81 fprintf(env.stdout, "#%d/%d %s:%s\n", in test__end_subtest()
82 test->test_num, test->subtest_num, in test__end_subtest()
83 test->subtest_name, sub_error_cnt ? "FAIL" : "OK"); in test__end_subtest()
90 if (test->subtest_name) { in test__start_subtest()
92 test->subtest_name = NULL; in test__start_subtest()
95 test->subtest_num++; in test__start_subtest()
99 "Subtest #%d didn't provide sub-test name!\n", in test__start_subtest()
100 test->subtest_num); in test__start_subtest()
104 if (!should_run(&env.subtest_selector, test->subtest_num, name)) in test__start_subtest()
107 test->subtest_name = name; in test__start_subtest()
108 env.test->old_error_cnt = env.test->error_cnt; in test__start_subtest()
114 env.test->force_log = true; in test__force_log()
119 env.test->skip_cnt++; in test__skip()
124 env.test->error_cnt++; in test__fail()
127 int test__join_cgroup(const char *path) in test__join_cgroup() argument
131 if (!env.test->need_cgroup_cleanup) { in test__join_cgroup()
135 env.test->test_num, env.test->test_name); in test__join_cgroup()
136 return -1; in test__join_cgroup()
139 env.test->need_cgroup_cleanup = true; in test__join_cgroup()
142 fd = create_and_get_cgroup(path); in test__join_cgroup()
146 env.test->test_num, env.test->test_name, path, errno); in test__join_cgroup()
150 if (join_cgroup(path)) { in test__join_cgroup()
153 env.test->test_num, env.test->test_name, path, errno); in test__join_cgroup()
154 return -1; in test__join_cgroup()
185 return -1; in bpf_find_map()
197 if (sysctl_fd != -1) { in is_jit_enabled()
230 return -1; in compare_map_keys()
254 err = -1; in compare_stack_ips()
263 err = -1; in compare_stack_ips()
277 fp = popen("readelf -n ./urandom_read | grep 'Build ID'", "r"); in extract_build_id()
279 return -1; in extract_build_id()
281 if (getline(&line, &len, fp) == -1) in extract_build_id()
292 return -1; in extract_build_id()
339 { "verifier-stats", ARG_VERIFIER_STATS, NULL, 0,
342 "Verbose output (use -vv for extra verbose output)" },
357 int i, set_len = 0, num, start = 0, end = -1; in parse_num_list()
365 return -errno; in parse_num_list()
372 if (!parsing_end && *next == '-') { in parse_num_list()
385 return -EINVAL; in parse_num_list()
389 return -EINVAL; in parse_num_list()
396 return -ENOMEM; in parse_num_list()
407 return -EINVAL; in parse_num_list()
409 sel->num_set = set; in parse_num_list()
410 sel->num_set_len = set_len; in parse_num_list()
417 struct test_env *env = state->input; in parse_arg()
426 &env->subtest_selector)) { in parse_arg()
429 return -EINVAL; in parse_arg()
432 if (parse_num_list(arg, &env->test_selector)) { in parse_arg()
434 return -EINVAL; in parse_arg()
443 env->subtest_selector.name = strdup(subtest_str + 1); in parse_arg()
444 if (!env->subtest_selector.name) in parse_arg()
445 return -ENOMEM; in parse_arg()
447 env->test_selector.name = strdup(arg); in parse_arg()
448 if (!env->test_selector.name) in parse_arg()
449 return -ENOMEM; in parse_arg()
453 env->verifier_stats = true; in parse_arg()
458 env->very_verbose = true; in parse_arg()
461 "Unrecognized verbosity setting ('%s'), only -v and -vv are supported\n", in parse_arg()
463 return -EINVAL; in parse_arg()
466 env->verbose = true; in parse_arg()
482 env.stdout = stdout; in stdio_hijack()
486 /* nothing to do, output to stdout by default */ in stdio_hijack()
490 /* stdout and stderr -> buffer */ in stdio_hijack()
491 fflush(stdout); in stdio_hijack()
493 stdout = open_memstream(&env.log_buf, &env.log_cnt); in stdio_hijack()
494 if (!stdout) { in stdio_hijack()
495 stdout = env.stdout; in stdio_hijack()
500 stderr = stdout; in stdio_hijack()
507 if (stdout == env.stdout) in stdio_restore()
510 fclose(stdout); in stdio_restore()
516 stdout = env.stdout; in stdio_restore()
545 test->test_num = i + 1; in main()
548 test->test_num, test->test_name)) in main()
551 test->run_test(); in main()
552 /* ensure last sub-test is finalized properly */ in main()
553 if (test->subtest_name) in main()
556 test->tested = true; in main()
557 if (test->error_cnt) in main()
563 dump_test_log(test, test->error_cnt); in main()
565 fprintf(env.stdout, "#%d %s:%s\n", in main()
566 test->test_num, test->test_name, in main()
567 test->error_cnt ? "FAIL" : "OK"); in main()
569 if (test->need_cgroup_cleanup) in main()