Commit 096ae337 authored by Victor Stinner's avatar Victor Stinner Committed by GitHub

bpo-31234: Try to fix lock_tests warning (#3557)

Try to fix the "Warning -- threading_cleanup() failed to cleanup 1
threads" warning in test.lock_tests: wait a little bit longer to give
time to the threads to complete.

Warning seen on test_thread and test_importlib.
parent 65bc6205
......@@ -54,6 +54,13 @@ class Bunch(object):
def wait_for_finished(self):
while len(self.finished) < self.n:
_wait()
# Wait a little bit longer to prevent the "threading_cleanup()
# failed to cleanup X threads" warning. The loop above is a weak
# synchronization. At the C level, t_bootstrap() can still be
# running and so _thread.count() still accounts the "almost dead"
# thead.
for _ in range(self.n):
_wait()
def do_finish(self):
self._can_exit = True
......@@ -304,6 +311,7 @@ class RLockTests(BaseLockTests):
self.assertRaises(RuntimeError, lock.release)
finally:
b.do_finish()
b.wait_for_finished()
def test__is_owned(self):
lock = self.locktype()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment