summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2011-04-04 20:00:45 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2011-04-04 20:00:45 (GMT)
commit54e7135fe81369a06e4c0dc496d423ed69dffc83 (patch)
tree5cd93f316da1f935f99dff13cce8405fb545bebc
parent6b4be36cfde25ab6b7ed4a5caf737d603efdfb0f (diff)
parent4333affb74f29d46d28ba2b202aa9ff48716cab2 (diff)
downloadcpython-54e7135fe81369a06e4c0dc496d423ed69dffc83.zip
cpython-54e7135fe81369a06e4c0dc496d423ed69dffc83.tar.gz
cpython-54e7135fe81369a06e4c0dc496d423ed69dffc83.tar.bz2
Try to fix sporadic failure in test_thread/test_threading
-rw-r--r--Lib/test/lock_tests.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/Lib/test/lock_tests.py b/Lib/test/lock_tests.py
index 005c912..ff30d41 100644
--- a/Lib/test/lock_tests.py
+++ b/Lib/test/lock_tests.py
@@ -149,7 +149,13 @@ class BaseLockTests(BaseTestCase):
# We run many threads in the hope that existing threads ids won't
# be recycled.
Bunch(f, 15).wait_for_finished()
- self.assertEqual(n, len(threading.enumerate()))
+ if len(threading.enumerate()) != n:
+ # There is a small window during which a Thread instance's
+ # target function has finished running, but the Thread is still
+ # alive and registered. Avoid spurious failures by waiting a
+ # bit more (seen on a buildbot).
+ time.sleep(0.4)
+ self.assertEqual(n, len(threading.enumerate()))
def test_timeout(self):
lock = self.locktype()