]> granicus.if.org Git - python/commitdiff
Issue #15210: Greatly simplify the test for supporting importlib
authorBrett Cannon <brett@python.org>
Wed, 4 Jul 2012 18:03:40 +0000 (14:03 -0400)
committerBrett Cannon <brett@python.org>
Wed, 4 Jul 2012 18:03:40 +0000 (14:03 -0400)
working without _frozen_importlib by moving to an import over a direct
access in sys.modules.

Lib/importlib/__init__.py
Lib/importlib/test/test_api.py

index dad0833fce003978d1250afd1b87c1f854b6b949..0935ada28836280eadb5ab4df845e926a8e9f602 100644 (file)
@@ -6,8 +6,8 @@ import imp
 import sys
 
 try:
-    _bootstrap = sys.modules['_frozen_importlib']
-except KeyError:
+    import _frozen_importlib as _bootstrap
+except ImportError:
     from . import _bootstrap
     _bootstrap._setup(sys, imp)
 else:
index 8431eab6f7deadb1147e24753a27d9d5bf6ebb83..ba2a72122788d9ed28d3535ee64446d5c0d703c5 100644 (file)
@@ -1,7 +1,9 @@
 from . import util
 import imp
 import importlib
+from importlib import machinery
 import sys
+from test import support
 import unittest
 
 
@@ -164,18 +166,9 @@ class FrozenImportlibTests(unittest.TestCase):
 
     def test_no_frozen_importlib(self):
         # Should be able to import w/o _frozen_importlib being defined.
-        modules = {}
-        for name in ('importlib', 'importlib.__init__', 'importlib._bootstrap',
-                     '_frozen_importlib'):
-            try:
-                modules[name] = sys.modules[name]
-                del sys.modules[name]
-            except KeyError:
-                continue
-        modules['_frozen_importlib'] = None
-        import importlib
-        for name, module in modules.items():
-            sys.modules[name] = module
+        module = support.import_fresh_module('importlib', blocked=['_frozen_importlib'])
+        self.assertFalse(isinstance(module.__loader__,
+                                    machinery.FrozenImporter))
 
 
 def test_main():