mirror of https://github.com/python/cpython.git
[3.13] gh-133711: Fix test_regrtest for PYTHONUTF8=1 (GH-134839) (#134843)
gh-133711: Fix test_regrtest for PYTHONUTF8=1 (GH-134839)
Use "backslashreplace" error handler to decode stdout and stderr.
Example:
vstinner@WIN C:\victor\python\main\build\test_python_worker_8360\x91>
"C:\victor\python\main\PCbuild\amd64\python_d.exe" -m test
--fast-ci --slow-ci --testdir
C:\Users\vstinner\AppData\Local\Temp\tmp0t59e8da
test_regrtest_noop1 test_regrtest_noop2 test_regrtest_noop3
test_regrtest_noop4
Notice the "\x91" byte at the end of the first line: it's the
non-ASCII U+00E6 character encoded to the OEM cp437 code page.
(cherry picked from commit 91618278e7
)
Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
parent
8e60e6ca84
commit
5511533f59
|
@ -871,7 +871,10 @@ def test_script_autotest(self):
|
||||||
self.run_tests(args)
|
self.run_tests(args)
|
||||||
|
|
||||||
def run_batch(self, *args):
|
def run_batch(self, *args):
|
||||||
proc = self.run_command(args)
|
proc = self.run_command(args,
|
||||||
|
# gh-133711: cmd.exe uses the OEM code page
|
||||||
|
# to display the non-ASCII current directory
|
||||||
|
errors="backslashreplace")
|
||||||
self.check_output(proc.stdout)
|
self.check_output(proc.stdout)
|
||||||
|
|
||||||
@unittest.skipUnless(sysconfig.is_python_build(),
|
@unittest.skipUnless(sysconfig.is_python_build(),
|
||||||
|
|
Loading…
Reference in New Issue