From be6210363e1bd275df5a31c394f39b934dad1b14 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 25 May 2011 02:01:55 +0200 Subject: [PATCH] Issue #8533: regrtest replaces also sys.stdout on Windows Replace sys.stdout to use backslashreplace. Use '\n' newline on all operating systems. --- Lib/test/regrtest.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 04e87e3d453..b5e51270590 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()