aboutsummaryrefslogtreecommitdiffstats
path: root/python/mach_bootstrap.py
diff options
context:
space:
mode:
authormarmeladema <xademax@gmail.com>2019-12-09 21:17:34 +0000
committermarmeladema <xademax@gmail.com>2019-12-10 16:11:02 +0000
commit17233f2dd298a1ed6933e45870c3cb6878456cef (patch)
tree54d6bb12bd69464e62a832ae0a6a02e632c79a62 /python/mach_bootstrap.py
parent63d5d8a4b607f291804f6fae62c1ec0433cc0051 (diff)
downloadservo-17233f2dd298a1ed6933e45870c3cb6878456cef.tar.gz
servo-17233f2dd298a1ed6933e45870c3cb6878456cef.zip
Write subprocess stdout/stderr logs to raw stdout buffer when using Python3
Diffstat (limited to 'python/mach_bootstrap.py')
-rw-r--r--python/mach_bootstrap.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/python/mach_bootstrap.py b/python/mach_bootstrap.py
index 5dd1077c923..049dff4b7e7 100644
--- a/python/mach_bootstrap.py
+++ b/python/mach_bootstrap.py
@@ -104,13 +104,22 @@ def _process_exec(args):
if process.returncode:
print('"%s" failed with error code %d:' % ('" "'.join(args), process.returncode))
+ if sys.version_info >= (3, 0):
+ stdout = sys.stdout.buffer
+ else:
+ stdout = sys.stdout
+
print('Output:')
out.seek(0)
- shutil.copyfileobj(out, sys.stdout)
+ stdout.flush()
+ shutil.copyfileobj(out, stdout)
+ stdout.flush()
print('Error:')
err.seek(0)
- shutil.copyfileobj(err, sys.stdout)
+ stdout.flush()
+ shutil.copyfileobj(err, stdout)
+ stdout.flush()
sys.exit(1)