diff options
author | Ezio Melotti <ezio.melotti@gmail.com> | 2011-05-14 03:24:18 (GMT) |
---|---|---|
committer | Ezio Melotti <ezio.melotti@gmail.com> | 2011-05-14 03:24:18 (GMT) |
commit | 4e03e9dc8d741514867b0ad1301d1d9e53885895 (patch) | |
tree | 8e839eb413fe447e0a07c7f66d1021d70745f218 /Lib | |
parent | c729c256153058ce94ebe3cd6d20fac11b2f2e06 (diff) | |
parent | 3659f27ad37f992fadc1692137edf32c01c5bc66 (diff) | |
download | cpython-4e03e9dc8d741514867b0ad1301d1d9e53885895.zip cpython-4e03e9dc8d741514867b0ad1301d1d9e53885895.tar.gz cpython-4e03e9dc8d741514867b0ad1301d1d9e53885895.tar.bz2 |
Merge with 3.2.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/support.py | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/Lib/test/support.py b/Lib/test/support.py index c65ed2c..4539c70 100644 --- a/Lib/test/support.py +++ b/Lib/test/support.py @@ -91,19 +91,15 @@ def import_module(name, deprecated=False): def _save_and_remove_module(name, orig_modules): """Helper function to save and remove a module from sys.modules - Return True if the module was in sys.modules, False otherwise. Raise ImportError if the module can't be imported.""" - saved = True - try: - orig_modules[name] = sys.modules[name] - except KeyError: - # try to import the module and raise an error if it can't be imported + # try to import the module and raise an error if it can't be imported + if name not in sys.modules: __import__(name) - saved = False - else: del sys.modules[name] - return saved - + for modname in list(sys.modules): + if modname == name or modname.startswith(name + '.'): + orig_modules[modname] = sys.modules[modname] + del sys.modules[modname] def _save_and_block_module(name, orig_modules): """Helper function to save and block a module in sys.modules |