mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
gh-115490: Work around test.support.interpreters.channels not handling unloading (#115515)
Work around test.support.interpreters.channels not handling unloading, which regrtest does when running tests sequentially, by explicitly skipping the unloading of test.support.interpreters and its submodules. This can be rolled back once test.support.interpreters.channels supports unloading, if we are keeping sequential runs in the same process around.
This commit is contained in:
parent
a0149fa6cf
commit
b0e5c35ded
1 changed files with 7 additions and 2 deletions
|
@ -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.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue