From ab5a58d82732d94314160407112d8c609b7ad86b Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Sun, 6 Oct 2013 22:52:37 +0200 Subject: 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. --- Lib/test/test_import.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py index 9d15a43..a61ee2b 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: -- cgit v0.12