Commit 3e2671fb authored by Andrii Nakryiko's avatar Andrii Nakryiko Committed by Daniel Borkmann

selftests/bpf: Ensure consistent test failure output

printf() doesn't seem to honor using overwritten stdout/stderr (as part of
stdio hijacking), so ensure all "standard" invocations of printf() do
fprintf(stdout, ...) instead.
Signed-off-by: default avatarAndrii Nakryiko <andriin@fb.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Acked-by: default avatarMartin KaFai Lau <kafai@fb.com>
Link: https://lore.kernel.org/bpf/20200313172336.1879637-2-andriin@fb.com
parent 30b4cb36
...@@ -216,7 +216,7 @@ int bpf_find_map(const char *test, struct bpf_object *obj, const char *name) ...@@ -216,7 +216,7 @@ int bpf_find_map(const char *test, struct bpf_object *obj, const char *name)
map = bpf_object__find_map_by_name(obj, name); map = bpf_object__find_map_by_name(obj, name);
if (!map) { if (!map) {
printf("%s:FAIL:map '%s' not found\n", test, name); fprintf(stdout, "%s:FAIL:map '%s' not found\n", test, name);
test__fail(); test__fail();
return -1; return -1;
} }
...@@ -387,7 +387,7 @@ static int libbpf_print_fn(enum libbpf_print_level level, ...@@ -387,7 +387,7 @@ static int libbpf_print_fn(enum libbpf_print_level level,
{ {
if (env.verbosity < VERBOSE_VERY && level == LIBBPF_DEBUG) if (env.verbosity < VERBOSE_VERY && level == LIBBPF_DEBUG)
return 0; return 0;
vprintf(format, args); vfprintf(stdout, format, args);
return 0; return 0;
} }
...@@ -633,7 +633,7 @@ int cd_flavor_subdir(const char *exec_name) ...@@ -633,7 +633,7 @@ int cd_flavor_subdir(const char *exec_name)
if (!flavor) if (!flavor)
return 0; return 0;
flavor++; flavor++;
printf("Switching to flavor '%s' subdirectory...\n", flavor); fprintf(stdout, "Switching to flavor '%s' subdirectory...\n", flavor);
return chdir(flavor); return chdir(flavor);
} }
...@@ -716,8 +716,8 @@ int main(int argc, char **argv) ...@@ -716,8 +716,8 @@ int main(int argc, char **argv)
cleanup_cgroup_environment(); cleanup_cgroup_environment();
} }
stdio_restore(); stdio_restore();
printf("Summary: %d/%d PASSED, %d SKIPPED, %d FAILED\n", fprintf(stdout, "Summary: %d/%d PASSED, %d SKIPPED, %d FAILED\n",
env.succ_cnt, env.sub_succ_cnt, env.skip_cnt, env.fail_cnt); env.succ_cnt, env.sub_succ_cnt, env.skip_cnt, env.fail_cnt);
free(env.test_selector.blacklist.strs); free(env.test_selector.blacklist.strs);
free(env.test_selector.whitelist.strs); free(env.test_selector.whitelist.strs);
......
...@@ -109,10 +109,10 @@ extern struct ipv6_packet pkt_v6; ...@@ -109,10 +109,10 @@ extern struct ipv6_packet pkt_v6;
int __save_errno = errno; \ int __save_errno = errno; \
if (__ret) { \ if (__ret) { \
test__fail(); \ test__fail(); \
printf("%s:FAIL:%s ", __func__, tag); \ fprintf(stdout, "%s:FAIL:%s ", __func__, tag); \
printf(format); \ fprintf(stdout, ##format); \
} else { \ } else { \
printf("%s:PASS:%s %d nsec\n", \ fprintf(stdout, "%s:PASS:%s %d nsec\n", \
__func__, tag, duration); \ __func__, tag, duration); \
} \ } \
errno = __save_errno; \ errno = __save_errno; \
...@@ -124,7 +124,7 @@ extern struct ipv6_packet pkt_v6; ...@@ -124,7 +124,7 @@ extern struct ipv6_packet pkt_v6;
int __save_errno = errno; \ int __save_errno = errno; \
if (__ret) { \ if (__ret) { \
test__fail(); \ test__fail(); \
printf("%s:FAIL:%d\n", __func__, __LINE__); \ fprintf(stdout, "%s:FAIL:%d\n", __func__, __LINE__); \
} \ } \
errno = __save_errno; \ errno = __save_errno; \
__ret; \ __ret; \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment