summaryrefslogtreecommitdiffstats
path: root/Lib/importlib/test/extension/test_loader.py
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2009-01-18 00:24:28 (GMT)
committerBrett Cannon <bcannon@gmail.com>2009-01-18 00:24:28 (GMT)
commit23cbd8a6564df0ac3df339f91196c45f3e626d32 (patch)
treebef5602638a1567c28738aa359dae9865e04b6cd /Lib/importlib/test/extension/test_loader.py
parent458ad47a2c8045080a86eaaf33bb6cd174021891 (diff)
downloadcpython-23cbd8a6564df0ac3df339f91196c45f3e626d32.zip
cpython-23cbd8a6564df0ac3df339f91196c45f3e626d32.tar.gz
cpython-23cbd8a6564df0ac3df339f91196c45f3e626d32.tar.bz2
Add initial implementation of importlib. See the NOTES files for what is
planned for the package. There are no docs yet, but they are coming once the API for the first new function, importlib.import_module() is finalized.
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()