diff options
author | Brett Cannon <brett@python.org> | 2013-12-06 19:25:01 (GMT) |
---|---|---|
committer | Brett Cannon <brett@python.org> | 2013-12-06 19:25:01 (GMT) |
commit | 2f8c83568ca5850601e92e315c4a1c840e94b1cb (patch) | |
tree | f76aeedc3eae53677631468f3569eb136fb73b0b /Lib/test/test_importlib/source/test_case_sensitivity.py | |
parent | 86aae6a7b3b863529b6cce64859c0f56c7963bc0 (diff) | |
download | cpython-2f8c83568ca5850601e92e315c4a1c840e94b1cb.zip cpython-2f8c83568ca5850601e92e315c4a1c840e94b1cb.tar.gz cpython-2f8c83568ca5850601e92e315c4a1c840e94b1cb.tar.bz2 |
Issue #19712: Update test.test_importlib.source for PEP 451
Diffstat (limited to 'Lib/test/test_importlib/source/test_case_sensitivity.py')
-rw-r--r-- | Lib/test/test_importlib/source/test_case_sensitivity.py | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/Lib/test/test_importlib/source/test_case_sensitivity.py b/Lib/test/test_importlib/source/test_case_sensitivity.py index b3e9d25..efd3146 100644 --- a/Lib/test/test_importlib/source/test_case_sensitivity.py +++ b/Lib/test/test_importlib/source/test_case_sensitivity.py @@ -21,13 +21,12 @@ class CaseSensitivityTest: name = 'MoDuLe' assert name != name.lower() - def find(self, path): - finder = self.machinery.FileFinder(path, + def finder(self, path): + return self.machinery.FileFinder(path, (self.machinery.SourceFileLoader, self.machinery.SOURCE_SUFFIXES), (self.machinery.SourcelessFileLoader, self.machinery.BYTECODE_SUFFIXES)) - return finder.find_module(self.name) def sensitivity_test(self): """Look for a module with matching and non-matching sensitivity.""" @@ -37,7 +36,9 @@ class CaseSensitivityTest: with context as mapping: sensitive_path = os.path.join(mapping['.root'], 'sensitive') insensitive_path = os.path.join(mapping['.root'], 'insensitive') - return self.find(sensitive_path), self.find(insensitive_path) + sensitive_finder = self.finder(sensitive_path) + insensitive_finder = self.finder(insensitive_path) + return self.find(sensitive_finder), self.find(insensitive_finder) def test_sensitive(self): with test_support.EnvironmentVarGuard() as env: @@ -46,7 +47,7 @@ class CaseSensitivityTest: self.skipTest('os.environ changes not reflected in ' '_os.environ') sensitive, insensitive = self.sensitivity_test() - self.assertTrue(hasattr(sensitive, 'load_module')) + self.assertIsNotNone(sensitive) self.assertIn(self.name, sensitive.get_filename(self.name)) self.assertIsNone(insensitive) @@ -57,13 +58,25 @@ class CaseSensitivityTest: self.skipTest('os.environ changes not reflected in ' '_os.environ') sensitive, insensitive = self.sensitivity_test() - self.assertTrue(hasattr(sensitive, 'load_module')) + self.assertIsNotNone(sensitive) self.assertIn(self.name, sensitive.get_filename(self.name)) - self.assertTrue(hasattr(insensitive, 'load_module')) + self.assertIsNotNone(insensitive) self.assertIn(self.name, insensitive.get_filename(self.name)) -Frozen_CaseSensitivityTest, Source_CaseSensitivityTest = util.test_both( - CaseSensitivityTest, importlib=importlib, machinery=machinery) +class CaseSensitivityTestPEP302(CaseSensitivityTest): + def find(self, finder): + return finder.find_module(self.name) + +Frozen_CaseSensitivityTestPEP302, Source_CaseSensitivityTestPEP302 = util.test_both( + CaseSensitivityTestPEP302, importlib=importlib, machinery=machinery) + +class CaseSensitivityTestPEP451(CaseSensitivityTest): + def find(self, finder): + found = finder.find_spec(self.name) + return found.loader if found is not None else found + +Frozen_CaseSensitivityTestPEP451, Source_CaseSensitivityTestPEP451 = util.test_both( + CaseSensitivityTestPEP451, importlib=importlib, machinery=machinery) if __name__ == '__main__': |