From 1f9bcd38a9868b0d320681c603d5b4aa20ec54fe Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Thu, 5 Feb 2009 23:36:02 +0000 Subject: Add tests for using sys.path_hooks by importlib.machinery.PathFinder. --- Lib/importlib/_bootstrap.py | 2 +- 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 = '' + 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. -- cgit v0.12