run-tests: explicitly flush test runner output for Windows stability
authorMatt Harbison <matt_harbison@yahoo.com>
Sun, 18 Jun 2017 22:19:54 -0400
changeset 32907 bd77ac2bd23a
parent 32906 23b07333a8b2
child 32908 661025fd3e1c
run-tests: explicitly flush test runner output for Windows stability When hghave testing goes awry, the output order was changing on Windows. diff --git a/tests/test-run-tests.t b/tests/test-run-tests.t --- a/tests/test-run-tests.t +++ b/tests/test-run-tests.t @@ -920,10 +920,10 @@ > EOF > done $ rt -j 2 - .... + ....skipped: unknown feature: notarealhghavefeature\r (esc) + + # Ran 5 tests, 0 skipped, 0 warned, 0 failed. - skipped: unknown feature: notarealhghavefeature - $ cd .. $ rm -rf broken Since 'skipped: unknown feature: notarealhghavefeature\n\n' is printed to stdout and the rest to stderr, it seems like maybe stdio isn't line buffered on Windows. When a program exits, stdout is flushed before stderr[1]. [1] https://blogs.msdn.microsoft.com/oldnewthing/20060519-09/?p=31133
tests/run-tests.py
--- a/tests/run-tests.py	Sun Jun 18 21:31:53 2017 -0400
+++ b/tests/run-tests.py	Sun Jun 18 22:19:54 2017 -0400
@@ -2010,6 +2010,7 @@
                     os.environ['PYTHONHASHSEED'])
             if self._runner.options.time:
                 self.printtimes(result.times)
+            self.stream.flush()
 
         return result