From 2c847a1849e5c58bd21d3ea497133b0910bff1f8 Mon Sep 17 00:00:00 2001 From: Matt Martz Date: Fri, 26 Jan 2018 15:52:06 -0600 Subject: [PATCH] Add some guard code for places where sys.stdout and stderr are replaced with some other incompatible object --- speedtest.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/speedtest.py b/speedtest.py index d7172e1..a3d3004 100755 --- a/speedtest.py +++ b/speedtest.py @@ -165,8 +165,14 @@ except ImportError: self.flush() _py3_print = getattr(builtins, 'print') - _py3_utf8_stdout = _Py3Utf8Output(sys.stdout) - _py3_utf8_stderr = _Py3Utf8Output(sys.stderr) + try: + _py3_utf8_stdout = _Py3Utf8Output(sys.stdout) + _py3_utf8_stderr = _Py3Utf8Output(sys.stderr) + except OSError: + # sys.stdout/sys.stderr is not a compatible stdout/stderr object + # just use it and hope things go ok + _py3_utf8_stdout = sys.stdout + _py3_utf8_stderr = sys.stderr def to_utf8(v): """No-op encode to utf-8 for py3"""