summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rwxr-xr-xtests/runtests.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/runtests.py b/tests/runtests.py
index dbd13e3d0f..6eaddbc3c5 100755
--- a/tests/runtests.py
+++ b/tests/runtests.py
@@ -233,6 +233,12 @@ def teardown(state):
# Restore the old settings.
for key, value in state.items():
setattr(settings, key, value)
+ # Discard the multiprocessing.util finalizer that tries to remove a
+ # temporary directory that's already removed by this script's
+ # atexit.register(shutil.rmtree, TMPDIR) handler. Prevents
+ # FileNotFoundError at the end of a test run on Python 3.6+ (#27890).
+ from multiprocessing.util import _finalizer_registry
+ _finalizer_registry.pop((-100, 0), None)
def actual_test_processes(parallel):