summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2017-04-12 08:55:34 +0200
committerRichard Levitte <levitte@openssl.org>2017-04-12 15:00:51 +0200
commita743b817d28ced8c8a4f2250ae9cbec39af937aa (patch)
treeb90e86101f437ed47a945268df8fb32bdc0d2c7b
parent4833caed466ce8b7ae1d5fbafc23740885dbd9cc (diff)
test/testutil.c: Flush stdout when running tests
Because stdout is usually buffered and stderr isn't, error output might get printed in one bunch and all the lines saying which test failed all in one bunch, making it difficult to see exactly what error output belongs to what test. Flushing stdout makes sure the runner output is displayed together with the corresponding error output. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3198)
-rw-r--r--test/testutil.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/test/testutil.c b/test/testutil.c
index 867be178b3..3d2824c1f9 100644
--- a/test/testutil.c
+++ b/test/testutil.c
@@ -114,6 +114,7 @@ int run_tests(const char *test_prog_name)
printf("%s: %d test case%s\n", test_prog_name, num_test_cases,
num_test_cases == 1 ? "" : "s");
+ fflush(stdout);
for (i = 0; i != num_tests; ++i) {
if (all_tests[i].num == -1) {
@@ -122,6 +123,7 @@ int run_tests(const char *test_prog_name)
if (!ret) {
printf("** %s failed **\n--------\n",
all_tests[i].test_case_name);
+ fflush(stdout);
++num_failed;
}
finalize(ret);
@@ -132,6 +134,7 @@ int run_tests(const char *test_prog_name)
if (!ret) {
printf("** %s failed test %d\n--------\n",
all_tests[i].test_case_name, j);
+ fflush(stdout);
++num_failed;
}
finalize(ret);
@@ -142,9 +145,11 @@ int run_tests(const char *test_prog_name)
if (num_failed != 0) {
printf("%s: %d test%s failed (out of %d)\n", test_prog_name,
num_failed, num_failed != 1 ? "s" : "", num_test_cases);
+ fflush(stdout);
return EXIT_FAILURE;
}
printf(" All tests passed.\n");
+ fflush(stdout);
return EXIT_SUCCESS;
}