From: Brett Cannon Date: Sat, 12 Jun 2010 00:38:29 +0000 (+0000) Subject: When dealing with __import__ for detecting a global state change made by a X-Git-Tag: v3.2a1~556 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5976d975f8f16ebc7f5d218dfdcaf28411a4c0d2;p=thirdparty%2FPython%2Fcpython.git When dealing with __import__ for detecting a global state change made by a test, make sure to check if __builtins__ is a dict or not. Discovered when running importlib.test.regrtest. --- diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 34b743e33f47..8b46f6edfe08 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -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[:]