[Python-checkins] cpython (2.7): Change import_fresh_module to work with packages.
ezio.melotti
python-checkins at python.org
Sat May 14 05:24:30 CEST 2011
http://hg.python.org/cpython/rev/49ffa5c30951
changeset: 70080:49ffa5c30951
branch: 2.7
parent: 70061:ac14158462cf
user: Ezio Melotti <ezio.melotti at gmail.com>
date: Sat May 14 06:02:25 2011 +0300
summary:
Change import_fresh_module to work with packages.
files:
Lib/test/test_support.py | 16 ++++++----------
1 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -84,19 +84,15 @@
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
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list