]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests/sched_ext: flush stdout before test to avoid log spam
authorEmil Tsalapatis <etsal@meta.com>
Fri, 5 Dec 2025 21:23:14 +0000 (13:23 -0800)
committerTejun Heo <tj@kernel.org>
Fri, 12 Dec 2025 18:18:32 +0000 (08:18 -1000)
The sched_ext selftests runner runs each test in the same process,
with each test possibly forking multiple times. When the main runner
has not flushed its stdout, the children inherit the buffered output
for previous tests and emit it during exit. This causes log spam.

Make sure stdout/stderr is fully flushed before each test.

Cc: Ihor Solodrai <ihor.solodrai@linux.dev>
Signed-off-by: Emil Tsalapatis <emil@etsalapatis.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
tools/testing/selftests/sched_ext/runner.c

index aa2d7d32dda9b6879e4393dc8ff80b0f8431ab7f..5748d2c6990373b30bf7192e7c6c89dba875c3df 100644 (file)
@@ -46,6 +46,14 @@ static void print_test_preamble(const struct scx_test *test, bool quiet)
        if (!quiet)
                printf("DESCRIPTION: %s\n", test->description);
        printf("OUTPUT:\n");
+
+       /*
+        * The tests may fork with the preamble buffered
+        * in the children's stdout. Flush before the test
+        * to avoid printing the message multiple times.
+        */
+       fflush(stdout);
+       fflush(stderr);
 }
 
 static const char *status_to_result(enum scx_test_status status)