regrtest.py: call replace_stdout() before the first call to print()
print("== ", os.getcwd()) fails if the current working directory is not ASCII
whereas sys.stdout encoding is ASCII.
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index 00ea0d6..34b743e 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -258,6 +258,8 @@
on the command line.
"""
+ replace_stdout()
+
support.record_original_stdout(sys.stdout)
try:
opts, args = getopt.getopt(sys.argv[1:], 'hvqxsSrf:lu:t:TD:NLR:FwWM:nj:',
@@ -376,7 +378,6 @@
elif o in ('-j', '--multiprocess'):
use_mp = int(a)
elif o == '--slaveargs':
- replace_stdout()
args, kwargs = json.loads(a)
try:
result = runtest(*args, **kwargs)
@@ -515,8 +516,6 @@
else:
tests = iter(selected)
- replace_stdout()
-
if use_mp:
try:
from threading import Thread