diff options
author | Guido van Rossum <guido@python.org> | 2015-04-20 09:24:24 -0700 |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2015-04-20 09:24:24 -0700 |
commit | 0bd16bc4cdbb896e6f201f14e43fd44580024362 (patch) | |
tree | bfe26307bb3238f9b910c106555fb29aa918e8a6 /Lib/test/test_asyncio/test_queues.py | |
parent | 77e8311deb1db0e823a9ac0d16ce3c0d557453fa (diff) | |
download | cpython-0bd16bc4cdbb896e6f201f14e43fd44580024362.tar.gz cpython-0bd16bc4cdbb896e6f201f14e43fd44580024362.zip |
Fix asyncio issue 235: Queue subclass bug caused by JoinableQueue merge.
Diffstat (limited to 'Lib/test/test_asyncio/test_queues.py')
-rw-r--r-- | Lib/test/test_asyncio/test_queues.py | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/Lib/test/test_asyncio/test_queues.py b/Lib/test/test_asyncio/test_queues.py index a73539d1a6c..88b4f07502f 100644 --- a/Lib/test/test_asyncio/test_queues.py +++ b/Lib/test/test_asyncio/test_queues.py @@ -408,14 +408,16 @@ class PriorityQueueTests(_QueueTestBase): self.assertEqual([1, 2, 3], items) -class QueueJoinTests(_QueueTestBase): +class _QueueJoinTestMixin: + + q_class = None def test_task_done_underflow(self): - q = asyncio.Queue(loop=self.loop) + q = self.q_class(loop=self.loop) self.assertRaises(ValueError, q.task_done) def test_task_done(self): - q = asyncio.Queue(loop=self.loop) + q = self.q_class(loop=self.loop) for i in range(100): q.put_nowait(i) @@ -452,7 +454,7 @@ class QueueJoinTests(_QueueTestBase): self.loop.run_until_complete(asyncio.wait(tasks, loop=self.loop)) def test_join_empty_queue(self): - q = asyncio.Queue(loop=self.loop) + q = self.q_class(loop=self.loop) # Test that a queue join()s successfully, and before anything else # (done twice for insurance). @@ -465,12 +467,24 @@ class QueueJoinTests(_QueueTestBase): self.loop.run_until_complete(join()) def test_format(self): - q = asyncio.Queue(loop=self.loop) + q = self.q_class(loop=self.loop) self.assertEqual(q._format(), 'maxsize=0') q._unfinished_tasks = 2 self.assertEqual(q._format(), 'maxsize=0 tasks=2') +class QueueJoinTests(_QueueJoinTestMixin, _QueueTestBase): + q_class = asyncio.Queue + + +class LifoQueueJoinTests(_QueueJoinTestMixin, _QueueTestBase): + q_class = asyncio.LifoQueue + + +class PriorityQueueJoinTests(_QueueJoinTestMixin, _QueueTestBase): + q_class = asyncio.PriorityQueue + + if __name__ == '__main__': unittest.main() |