summaryrefslogtreecommitdiffstats
path: root/Lib/importlib/test/extension/test_loader.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/importlib/test/extension/test_loader.py')
-rw-r--r--Lib/importlib/test/extension/test_loader.py37
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()