]> granicus.if.org Git - python/commitdiff
When dealing with __import__ for detecting a global state change made by a
authorBrett Cannon <bcannon@gmail.com>
Sat, 12 Jun 2010 00:38:29 +0000 (00:38 +0000)
committerBrett Cannon <bcannon@gmail.com>
Sat, 12 Jun 2010 00:38:29 +0000 (00:38 +0000)
test, make sure to check if __builtins__ is a dict or not.

Discovered when running importlib.test.regrtest.

Lib/test/regrtest.py

index 34b743e33f47611580aaceddd4e04eca01f6bad8..8b46f6edfe0857f552db834d3bad55e5a0f18f62 100755 (executable)
@@ -859,9 +859,15 @@ class saved_test_environment:
         sys.path_hooks[:] = saved_hooks[2]
 
     def get___import__(self):
-        return __builtins__.__import__
+        if isinstance(__builtins__, dict):
+            return __builtins__['__import__']
+        else:
+            return __builtins__.__import__
     def restore___import__(self, import_):
-        __builtins__.__import__ = import_
+        if isinstance(__builtins__, dict):
+            __builtins__['__import__'] = import_
+        else:
+            __builtins__.__import__ = import_
 
     def get_warnings_filters(self):
         return id(warnings.filters), warnings.filters, warnings.filters[:]