aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/test/test_asyncio/test_queues.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2015-04-20 09:24:24 -0700
committerGuido van Rossum <guido@python.org>2015-04-20 09:24:24 -0700
commit0bd16bc4cdbb896e6f201f14e43fd44580024362 (patch)
treebfe26307bb3238f9b910c106555fb29aa918e8a6 /Lib/test/test_asyncio/test_queues.py
parent77e8311deb1db0e823a9ac0d16ce3c0d557453fa (diff)
downloadcpython-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.py24
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()