only clear a module's __dict__ if the module is the only one with a reference to it #7140

This commit is contained in:
Benjamin Peterson 2009-10-15 15:44:46 +00:00
parent 96e319e5ac
commit 196b0925ca
3 changed files with 15 additions and 1 deletions

View file

@ -55,6 +55,14 @@ class ModuleTests(unittest.TestCase):
{"__name__": "foo", "__doc__": "foodoc", "bar": 42})
self.assertTrue(foo.__dict__ is d)
def test_dont_clear_dict(self):
# See issue 7140.
def f():
foo = ModuleType("foo")
foo.bar = 4
return foo
self.assertEqual(f().__dict__["bar"], 4)
def test_main():
run_unittest(ModuleTests)