From 01b5d0a66b0f18f8b7f54f55cbfaec1e25674679 Mon Sep 17 00:00:00 2001 From: Wilhelm Schuermann Date: Tue, 17 Nov 2015 21:54:14 +0100 Subject: [PATCH] Test: Fix mangled "run_all --verbose" output For lack of being able to reproduce the problem, this is a "fix by guessing at the root cause" commit. Don't do this at home. FreeBSD was showing a 100.04% test suite run because the output of "test/problems --summary" was intertwined with TAP output. The only somewhat sane way for this to happen that does not involve magic is that Python's sys.stdout buffer is not flushed before calling subprocess.call(), which uses the raw file descriptors. A quick check of the sources seems to support this theory. --- test/run_all | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/run_all b/test/run_all index 038b414ef..a41aa6cba 100755 --- a/test/run_all +++ b/test/run_all @@ -175,6 +175,8 @@ class TestRunner(object): def show_report(self): self.tap.flush() + sys.stdout.flush() + sys.stderr.flush() log.debug("Calling 'problems --summary' for report") return call([os.path.abspath("problems"), "--summary", cmd_args.tapfile])