From: Amaury Forgeot d'Arc Date: Tue, 1 Apr 2008 21:23:34 +0000 (+0000) Subject: Prevent test_queue from leaking: one worker thread was not stopped. X-Git-Tag: v3.0a4~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b4febc79331d2c182221e3172bc8927e95310aa9;p=thirdparty%2FPython%2Fcpython.git Prevent test_queue from leaking: one worker thread was not stopped. The version in trunk/ is correct; the problem with 3.0 is that None cannot be used as a marker in a PriorityQueue, because it cannot be compared with ints. --- diff --git a/Lib/test/test_queue.py b/Lib/test/test_queue.py index 06e32ecd2523..8c961941f475 100644 --- a/Lib/test/test_queue.py +++ b/Lib/test/test_queue.py @@ -144,7 +144,7 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin): def worker(self, q): while True: x = q.get() - if x is None: + if x < 0: q.task_done() return with self.cumlock: @@ -160,7 +160,8 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin): q.join() self.assertEquals(self.cum, sum(range(100)), "q.join() did not block until all tasks were done") - q.put(None) # instruct the threads to close + for i in (0,1): + q.put(-1) # instruct the threads to close q.join() # verify that you can join twice def test_queue_task_done(self):