diff options
-rw-r--r-- | Lib/importlib/_bootstrap.py | 2 | ||||
-rw-r--r-- | Lib/importlib/test/import_/test_path.py | 12 |
2 files changed, 11 insertions, 3 deletions
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py index 849dabb..8eff65c 100644 --- a/Lib/importlib/_bootstrap.py +++ b/Lib/importlib/_bootstrap.py @@ -601,7 +601,7 @@ class PathFinder: @classmethod def _implicit_hooks(cls): """Return a list of the implicit path hooks.""" - return [self._default_hook, imp.NullImporter] + return [cls._default_hook, imp.NullImporter] @classmethod def _path_hooks(cls, path): diff --git a/Lib/importlib/test/import_/test_path.py b/Lib/importlib/test/import_/test_path.py index 70dae2f..6bace12 100644 --- a/Lib/importlib/test/import_/test_path.py +++ b/Lib/importlib/test/import_/test_path.py @@ -208,8 +208,16 @@ class FinderTests(unittest.TestCase): def test_path_hooks(self): # Test that sys.path_hooks is used. - # TODO(brett.cannon) implement - pass + # Test that sys.path_importer_cache is set. + module = '<test module>' + path = '<test path>' + importer = util.mock_modules(module) + hook = import_util.mock_path_hook(path, importer=importer) + with util.import_state(path_hooks=[hook]): + loader = machinery.PathFinder.find_module(module, [path]) + self.assert_(loader is importer) + self.assert_(path in sys.path_importer_cache) + self.assert_(sys.path_importer_cache[path] is importer) def test_implicit_hooks(self): # Test that the implicit path hooks are used. |