From: Victor Stinner Date: Wed, 25 May 2011 00:01:55 +0000 (+0200) Subject: Issue #8533: regrtest replaces also sys.stdout on Windows X-Git-Tag: v3.3.0a1~2183^2~115 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=be6210363e1bd275df5a31c394f39b934dad1b14;p=python Issue #8533: regrtest replaces also sys.stdout on Windows Replace sys.stdout to use backslashreplace. Use '\n' newline on all operating systems. --- diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 04e87e3d45..b5e5127059 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -794,17 +794,14 @@ def findtests(testdir=None, stdtests=STDTESTS, nottests=NOTTESTS): def replace_stdout(): """Set stdout encoder error handler to backslashreplace (as stderr error handler) to avoid UnicodeEncodeError when printing a traceback""" - if os.name == "nt": - # Replace sys.stdout breaks the stdout newlines on Windows: issue #8533 - return - import atexit stdout = sys.stdout sys.stdout = open(stdout.fileno(), 'w', encoding=stdout.encoding, errors="backslashreplace", - closefd=False) + closefd=False, + newline='\n') def restore_stdout(): sys.stdout.close()