diff options
| author | Steve Dower <steve.dower@microsoft.com> | 2015-09-06 22:31:26 -0700 |
|---|---|---|
| committer | Steve Dower <steve.dower@microsoft.com> | 2015-09-06 22:31:26 -0700 |
| commit | 45fd95155fb98021dad3c88db15ebe4e939577bf (patch) | |
| tree | 4950b34540ccdc6faa75dce7c5a72cff083ec3e5 /Lib/test/test_imp.py | |
| parent | 1b8be1fbe5554ff7d145fd7596b07940249ee53f (diff) | |
| parent | eeeff706e51fa51ce6227f32e4c00025344ee7df (diff) | |
| download | cpython-git-45fd95155fb98021dad3c88db15ebe4e939577bf.tar.gz | |
Merge from 3.5
Diffstat (limited to 'Lib/test/test_imp.py')
| -rw-r--r-- | Lib/test/test_imp.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Lib/test/test_imp.py b/Lib/test/test_imp.py index 47bf1de92a..ee9ee1ad8c 100644 --- a/Lib/test/test_imp.py +++ b/Lib/test/test_imp.py @@ -3,6 +3,7 @@ try: except ImportError: _thread = None import importlib +import importlib.util import os import os.path import shutil @@ -275,6 +276,29 @@ class ImportTests(unittest.TestCase): self.skipTest("found module doesn't appear to be a C extension") imp.load_module(name, None, *found[1:]) + @requires_load_dynamic + def test_issue24748_load_module_skips_sys_modules_check(self): + name = 'test.imp_dummy' + try: + del sys.modules[name] + except KeyError: + pass + try: + module = importlib.import_module(name) + spec = importlib.util.find_spec('_testmultiphase') + module = imp.load_dynamic(name, spec.origin) + self.assertEqual(module.__name__, name) + self.assertEqual(module.__spec__.name, name) + self.assertEqual(module.__spec__.origin, spec.origin) + self.assertRaises(AttributeError, getattr, module, 'dummy_name') + self.assertEqual(module.int_const, 1969) + self.assertIs(sys.modules[name], module) + finally: + try: + del sys.modules[name] + except KeyError: + pass + @unittest.skipIf(sys.dont_write_bytecode, "test meaningful only when writing bytecode") def test_bug7732(self): |
