While on Linux stderr is unbuffered, it is buffered on Windows. Always flush stderr on Windows to ensure any error messages appear in the right order to ease diagnosing. Change-Id: I37300e384ecd3a51a321a48818f0114d6f3357a0
@@ -144,6 +144,10 @@ def _print(*objects, **kwargs):
out = kwargs.get('file', sys.stdout)
out.write(sep.join(objects) + end)
+ # On Windows stderr is buffered, so flush to maintain the order of error messages.
+ if out == sys.stderr and platform.system() == "Windows":
+ out.flush()
+
# Python version check
ver = sys.version_info