From b4febc79331d2c182221e3172bc8927e95310aa9 Mon Sep 17 00:00:00 2001 From: Amaury Forgeot d'Arc Date: Tue, 1 Apr 2008 21:23:34 +0000 Subject: [PATCH] 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. --- Lib/test/test_queue.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_queue.py b/Lib/test/test_queue.py index 06e32ecd252..8c961941f47 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):