diff --git a/Lib/test/support.py b/Lib/test/support.py --- a/Lib/test/support.py +++ b/Lib/test/support.py @@ -172,6 +172,9 @@ if not _save_and_block_module(blocked_name, orig_modules): names_to_remove.append(blocked_name) fresh_module = importlib.import_module(name) + # Keep reference to fresh modules to prevent GC + fresh_module.__fresh = [importlib.import_module(fresh_name) + for fresh_name in fresh] except ImportError: fresh_module = None finally: