diff options
Diffstat (limited to 'Lib/importlib/test/extension/test_loader.py')
-rw-r--r-- | Lib/importlib/test/extension/test_loader.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Lib/importlib/test/extension/test_loader.py b/Lib/importlib/test/extension/test_loader.py new file mode 100644 index 0000000..4f2a0d8 --- /dev/null +++ b/Lib/importlib/test/extension/test_loader.py @@ -0,0 +1,37 @@ +import importlib +from . import test_path_hook +from .. import support + +import sys +import unittest + + +class LoaderTests(unittest.TestCase): + + """Test load_module() for extension modules.""" + + def load_module(self, fullname): + loader = importlib._ExtensionFileLoader(test_path_hook.NAME, + test_path_hook.FILEPATH, + False) + return loader.load_module(fullname) + + def test_success(self): + with support.uncache(test_path_hook.NAME): + module = self.load_module(test_path_hook.NAME) + for attr, value in [('__name__', test_path_hook.NAME), + ('__file__', test_path_hook.FILEPATH)]: + self.assertEqual(getattr(module, attr), value) + self.assert_(test_path_hook.NAME in sys.modules) + + def test_failure(self): + self.assertRaises(ImportError, self.load_module, 'asdfjkl;') + + +def test_main(): + from test.support import run_unittest + run_unittest(LoaderTests) + + +if __name__ == '__main__': + test_main() |