summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_importlib/extension
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_importlib/extension')
-rw-r--r--Lib/test/test_importlib/extension/test_case_sensitivity.py37
1 files changed, 8 insertions, 29 deletions
diff --git a/Lib/test/test_importlib/extension/test_case_sensitivity.py b/Lib/test/test_importlib/extension/test_case_sensitivity.py
index e1194db..76c53e4 100644
--- a/Lib/test/test_importlib/extension/test_case_sensitivity.py
+++ b/Lib/test/test_importlib/extension/test_case_sensitivity.py
@@ -5,8 +5,7 @@ import unittest
from importlib import _bootstrap
from .. import util
from . import util as ext_util
-import os
-import subprocess
+
@util.case_insensitive_tests
class ExtensionModuleCaseSensitivityTest(unittest.TestCase):
@@ -30,34 +29,14 @@ class ExtensionModuleCaseSensitivityTest(unittest.TestCase):
self.assertIsNone(loader)
def test_case_insensitivity(self):
- find_snippet = """if True:
- from importlib import _bootstrap
- import sys
- finder = _bootstrap.FileFinder('{path}',
- (_bootstrap.ExtensionFileLoader,
- _bootstrap.EXTENSION_SUFFIXES))
- loader = finder.find_module('{bad_name}')
- print(str(hasattr(loader, 'load_module')))
- """.format(bad_name=ext_util.NAME.upper(), path=ext_util.PATH)
-
- newenv = os.environ.copy()
- newenv["PYTHONCASEOK"] = "1"
-
- def check_output(expected, extra_arg=None):
- args = [sys.executable]
- if extra_arg:
- args.append(extra_arg)
- args.extend(["-c", find_snippet])
- p = subprocess.Popen(args, stdout=subprocess.PIPE, env=newenv)
- actual = p.communicate()[0].decode().strip()
- self.assertEqual(expected, actual)
- self.assertEqual(p.wait(), 0)
-
- # Test with PYTHONCASEOK=1.
- check_output("True")
+ with support.EnvironmentVarGuard() as env:
+ env.set('PYTHONCASEOK', '1')
+ if b'PYTHONCASEOK' not in _bootstrap._os.environ:
+ self.skipTest('os.environ changes not reflected in '
+ '_os.environ')
+ loader = self.find_module()
+ self.assertTrue(hasattr(loader, 'load_module'))
- # Test with PYTHONCASEOK=1 ignored because of -E.
- check_output("False", "-E")