mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
gh-128438: Use EnvironmentVarGuard
for test_{builtin,io,locale}.py
(#128476)
Modifying locale-related environment variables in `Lib/test/test_builtin.py`, `Lib/test/test_io.py` and `Lib/test/test_locale.py` is now achieved by using an `EnvironmentVarGuard` context instead of an explicit `try-finally` block.
This commit is contained in:
parent
6e4f64109b
commit
ae7f621c33
3 changed files with 11 additions and 30 deletions
|
@ -1567,14 +1567,12 @@ class BuiltinTest(ComplexesAreIdenticalMixin, unittest.TestCase):
|
|||
|
||||
@unittest.skipIf(sys.flags.utf8_mode, "utf-8 mode is enabled")
|
||||
def test_open_default_encoding(self):
|
||||
old_environ = dict(os.environ)
|
||||
try:
|
||||
with EnvironmentVarGuard() as env:
|
||||
# try to get a user preferred encoding different than the current
|
||||
# locale encoding to check that open() uses the current locale
|
||||
# encoding and not the user preferred encoding
|
||||
for key in ('LC_ALL', 'LANG', 'LC_CTYPE'):
|
||||
if key in os.environ:
|
||||
del os.environ[key]
|
||||
env.unset(key)
|
||||
|
||||
self.write_testfile()
|
||||
current_locale_encoding = locale.getencoding()
|
||||
|
@ -1583,9 +1581,6 @@ class BuiltinTest(ComplexesAreIdenticalMixin, unittest.TestCase):
|
|||
fp = open(TESTFN, 'w')
|
||||
with fp:
|
||||
self.assertEqual(fp.encoding, current_locale_encoding)
|
||||
finally:
|
||||
os.environ.clear()
|
||||
os.environ.update(old_environ)
|
||||
|
||||
@support.requires_subprocess()
|
||||
def test_open_non_inheritable(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue