From: Victor Stinner Date: Sun, 6 Oct 2013 20:52:37 +0000 (+0200) Subject: test_import.test_module_with_large_stack(): unload the test module X-Git-Tag: v3.4.0a4~216 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ab5a58d82732d94314160407112d8c609b7ad86b;p=python test_import.test_module_with_large_stack(): unload the test module Ensure that the module is unloaded to be able to run the test more than once, and to not leak memory. --- diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py index 9d15a43be0..a61ee2bcc0 100644 --- a/Lib/test/test_import.py +++ b/Lib/test/test_import.py @@ -149,16 +149,24 @@ class ImportTests(unittest.TestCase): sys.path.append('') importlib.invalidate_caches() + namespace = {} try: make_legacy_pyc(filename) # This used to crash. - exec('import ' + module) + exec('import ' + module, None, namespace) finally: # Cleanup. del sys.path[-1] unlink(filename + 'c') unlink(filename + 'o') + # Remove references to the module (unload the module) + namespace.clear() + try: + del sys.modules[module] + except KeyError: + pass + def test_failing_import_sticks(self): source = TESTFN + ".py" with open(source, "w") as f: