From 8b7b36719e2bff5039b3b01d5baff94d7d3614b9 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 18 Sep 2023 14:28:19 +0200 Subject: [PATCH] gh-109508: Fix libregrtest formatting of getcwd() --- Lib/test/libregrtest/utils.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Lib/test/libregrtest/utils.py b/Lib/test/libregrtest/utils.py index 2f3bc3c6019caa..7675fbe16a2141 100644 --- a/Lib/test/libregrtest/utils.py +++ b/Lib/test/libregrtest/utils.py @@ -556,12 +556,21 @@ def adjust_rlimit_nofile(): def display_header(): + encoding = sys.stdout.encoding + # Print basic platform information print("==", platform.python_implementation(), *sys.version.split()) print("==", platform.platform(aliased=True), "%s-endian" % sys.byteorder) print("== Python build:", ' '.join(get_build_info())) - print("== cwd:", os.getcwd()) + + cwd = os.getcwd() + # gh-109508: support.os_helper.FS_NONASCII, used by get_work_dir(), cannot + # be encoded to the filesystem encoding on purpose, escape non-encodable + # characters with backslashreplace error handler. + formatted_cwd = cwd.encode(encoding, "backslashreplace").decode(encoding) + print("== cwd:", formatted_cwd) + cpu_count = os.cpu_count() if cpu_count: print("== CPU count:", cpu_count)