diff options
-rw-r--r-- | Lib/test/libregrtest/main.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py index 7ca1b1c..b24c1b9 100644 --- a/Lib/test/libregrtest/main.py +++ b/Lib/test/libregrtest/main.py @@ -335,10 +335,15 @@ class Regrtest: result = self.run_test(test_name, runtests, tracer) - # Unload the newly imported test modules (best effort finalization) + # Unload the newly imported test modules (best effort + # finalization). To work around gh-115490, don't unload + # test.support.interpreters and its submodules even if they + # weren't loaded before. + keep = "test.support.interpreters" new_modules = [module for module in sys.modules if module not in save_modules and - module.startswith(("test.", "test_"))] + module.startswith(("test.", "test_")) + and not module.startswith(keep)] for module in new_modules: sys.modules.pop(module, None) # Remove the attribute of the parent module. |