diff -r 84fb54c27a9c Lib/test/test_queue.py --- a/Lib/test/test_queue.py Sat Mar 17 17:29:39 2012 +0100 +++ b/Lib/test/test_queue.py Sat Mar 17 18:48:26 2012 +0100 @@ -81,8 +81,14 @@ if not self.t.startedEvent.is_set(): self.fail("trigger thread ended but event never set") +def queuetest_decorator(cls): + def inner(type): + cls.type2test = type + return cls + return inner -class BaseQueueTest(unittest.TestCase, BlockingTestMixin): +@queuetest_decorator +class BaseQueueTestMixin(unittest.TestCase, BlockingTestMixin): def setUp(self): self.cum = 0 self.cumlock = threading.Lock() @@ -229,14 +235,11 @@ with self.assertRaises(queue.Full): q.put_nowait(4) -class QueueTest(BaseQueueTest): - type2test = queue.Queue +QueueTest = BaseQueueTestMixin(queue.Queue) -class LifoQueueTest(BaseQueueTest): - type2test = queue.LifoQueue +LifoQueueTest = BaseQueueTestMixin(queue.LifoQueue) -class PriorityQueueTest(BaseQueueTest): - type2test = queue.PriorityQueue +PriorityQueueTest = BaseQueueTestMixin(queue.PriorityQueue)