]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-109508: Fix libregrtest formatting of getcwd() (#109537)
authorVictor Stinner <vstinner@python.org>
Mon, 18 Sep 2023 14:45:48 +0000 (16:45 +0200)
committerGitHub <noreply@github.com>
Mon, 18 Sep 2023 14:45:48 +0000 (16:45 +0200)
Lib/test/libregrtest/utils.py

index 2f3bc3c6019caa5ed56f9199b70f1e96fae50ea8..7675fbe16a2141618265fd575fc95bd4205d49e8 100644 (file)
@@ -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)