mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
gh-91904: Fix setting envvar PYTHONREGRTEST_UNICODE_GUARD (GH-91905)
It always failed on non-UTF-8 locale and prevented running regrtests.
(cherry picked from commit 54d068adfb
)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
parent
dc31334ab1
commit
971343eb56
3 changed files with 8 additions and 5 deletions
|
@ -5,6 +5,7 @@ import signal
|
|||
import sys
|
||||
import unittest
|
||||
from test import support
|
||||
from test.support.os_helper import TESTFN_UNDECODABLE, FS_NONASCII
|
||||
try:
|
||||
import gc
|
||||
except ImportError:
|
||||
|
@ -105,10 +106,10 @@ def setup_tests(ns):
|
|||
|
||||
# Ensure there's a non-ASCII character in env vars at all times to force
|
||||
# tests consider this case. See BPO-44647 for details.
|
||||
os.environ.setdefault(
|
||||
UNICODE_GUARD_ENV,
|
||||
"\N{SMILING FACE WITH SUNGLASSES}",
|
||||
)
|
||||
if TESTFN_UNDECODABLE and os.supports_bytes_environ:
|
||||
os.environb.setdefault(UNICODE_GUARD_ENV.encode(), TESTFN_UNDECODABLE)
|
||||
elif FS_NONASCII:
|
||||
os.environ.setdefault(UNICODE_GUARD_ENV, FS_NONASCII)
|
||||
|
||||
|
||||
def replace_stdout():
|
||||
|
|
|
@ -1303,7 +1303,7 @@ class ArgsTestCase(BaseTestCase):
|
|||
def test_unicode_guard_env(self):
|
||||
guard = os.environ.get(setup.UNICODE_GUARD_ENV)
|
||||
self.assertIsNotNone(guard, f"{setup.UNICODE_GUARD_ENV} not set")
|
||||
if guard != "\N{SMILING FACE WITH SUNGLASSES}":
|
||||
if guard.isascii():
|
||||
# Skip to signify that the env var value was changed by the user;
|
||||
# possibly to something ASCII to work around Unicode issues.
|
||||
self.skipTest("Modified guard")
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Fix initialization of :envvar:`PYTHONREGRTEST_UNICODE_GUARD` which prevented
|
||||
running regression tests on non-UTF-8 locale.
|
Loading…
Add table
Add a link
Reference in a new issue