Add a reset_name argument to importlib.util.module_to_load in order to

control whether to reset the module's __name__ attribute in case a
reload is being done.
This commit is contained in:
Brett Cannon 2013-05-31 18:11:17 -04:00
parent 028d51236a
commit b60a43eabf
3 changed files with 30 additions and 2 deletions

View file

@ -55,6 +55,18 @@ class ModuleToLoadTests(unittest.TestCase):
else:
self.fail('importlib.util.module_to_load swallowed an exception')
def test_reset_name(self):
# If reset_name is true then module.__name__ = name, else leave it be.
odd_name = 'not your typical name'
created_module = imp.new_module(self.module_name)
created_module.__name__ = odd_name
sys.modules[self.module_name] = created_module
with util.module_to_load(self.module_name) as module:
self.assertEqual(module.__name__, self.module_name)
created_module.__name__ = odd_name
with util.module_to_load(self.module_name, reset_name=False) as module:
self.assertEqual(module.__name__, odd_name)
class ModuleForLoaderTests(unittest.TestCase):