]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] gh-109237: Fix test_site for non-ASCII working directory (GH-109238) (#109240)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sun, 10 Sep 2023 22:39:49 +0000 (15:39 -0700)
committerGitHub <noreply@github.com>
Sun, 10 Sep 2023 22:39:49 +0000 (22:39 +0000)
gh-109237: Fix test_site for non-ASCII working directory (GH-109238)

Fix test_site.test_underpth_basic() when the working directory
contains at least one non-ASCII character: encode the "._pth" file to
UTF-8 and enable the UTF-8 Mode to use UTF-8 for the child process
stdout.
(cherry picked from commit cbb3a6f8ada3d133c3ab9f9465b65067fce5bb42)

Co-authored-by: Victor Stinner <vstinner@python.org>
Lib/test/test_site.py
Misc/NEWS.d/next/Tests/2023-09-10-22-32-20.gh-issue-109237.SvgKwD.rst [new file with mode: 0644]

index 12a2b73a3fe2fb15ba51b8334ea9dbe632109894..613e946ba71ba20b44b6a19a992c6e150ccf211b 100644 (file)
@@ -577,7 +577,7 @@ class _pthFileTests(unittest.TestCase):
                 _pth_file = os.path.splitext(exe_file)[0] + '._pth'
             else:
                 _pth_file = os.path.splitext(dll_file)[0] + '._pth'
-            with open(_pth_file, 'w') as f:
+            with open(_pth_file, 'w', encoding='utf8') as f:
                 for line in lines:
                     print(line, file=f)
             return exe_file
@@ -614,7 +614,7 @@ class _pthFileTests(unittest.TestCase):
             os.path.dirname(exe_file),
             pth_lines)
 
-        output = subprocess.check_output([exe_file, '-c',
+        output = subprocess.check_output([exe_file, '-X', 'utf8', '-c',
             'import sys; print("\\n".join(sys.path) if sys.flags.no_site else "")'
         ], encoding='utf-8', errors='surrogateescape')
         actual_sys_path = output.rstrip().split('\n')
diff --git a/Misc/NEWS.d/next/Tests/2023-09-10-22-32-20.gh-issue-109237.SvgKwD.rst b/Misc/NEWS.d/next/Tests/2023-09-10-22-32-20.gh-issue-109237.SvgKwD.rst
new file mode 100644 (file)
index 0000000..1d762bb
--- /dev/null
@@ -0,0 +1,4 @@
+Fix ``test_site.test_underpth_basic()`` when the working directory contains
+at least one non-ASCII character: encode the ``._pth`` file to UTF-8 and
+enable the UTF-8 Mode to use UTF-8 for the child process stdout. Patch by
+Victor Stinner.