ยปCore Development>Code coverage>Lib/importlib/test/extension/test_case_sensitivity.py

Python code coverage for Lib/importlib/test/extension/test_case_sensitivity.py

#countcontent
1n/aimport imp
2n/aimport sys
3n/afrom test import support
4n/aimport unittest
5n/afrom importlib import _bootstrap
6n/afrom .. import util
7n/afrom . import util as ext_util
8n/a
9n/a
10n/a@util.case_insensitive_tests
11n/aclass ExtensionModuleCaseSensitivityTest(unittest.TestCase):
12n/a
13n/a def find_module(self):
14n/a good_name = ext_util.NAME
15n/a bad_name = good_name.upper()
16n/a assert good_name != bad_name
17n/a finder = _bootstrap.FileFinder(ext_util.PATH,
18n/a (_bootstrap.ExtensionFileLoader,
19n/a imp.extension_suffixes(),
20n/a False))
21n/a return finder.find_module(bad_name)
22n/a
23n/a def test_case_sensitive(self):
24n/a with support.EnvironmentVarGuard() as env:
25n/a env.unset('PYTHONCASEOK')
26n/a if b'PYTHONCASEOK' in _bootstrap._os.environ:
27n/a self.skipTest('os.environ changes not reflected in '
28n/a '_os.environ')
29n/a loader = self.find_module()
30n/a self.assertIsNone(loader)
31n/a
32n/a def test_case_insensitivity(self):
33n/a with support.EnvironmentVarGuard() as env:
34n/a env.set('PYTHONCASEOK', '1')
35n/a if b'PYTHONCASEOK' not in _bootstrap._os.environ:
36n/a self.skipTest('os.environ changes not reflected in '
37n/a '_os.environ')
38n/a loader = self.find_module()
39n/a self.assertTrue(hasattr(loader, 'load_module'))
40n/a
41n/a
42n/a
43n/a
44n/adef test_main():
45n/a if ext_util.FILENAME is None:
46n/a return
47n/a support.run_unittest(ExtensionModuleCaseSensitivityTest)
48n/a
49n/a
50n/aif __name__ == '__main__':
51n/a test_main()