summaryrefslogtreecommitdiff
path: root/Lib/test/test_asyncio/test_tasks.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-02-11 11:54:08 +0100
committerVictor Stinner <victor.stinner@gmail.com>2014-02-11 11:54:08 +0100
commit208556c51ff5598070ff64f0a741628152846933 (patch)
tree9e294be691519a297c693ac422cf54cdfa86943c /Lib/test/test_asyncio/test_tasks.py
parent20e0743a5603479c56f32209b77a8bfac87baf53 (diff)
downloadcpython-git-208556c51ff5598070ff64f0a741628152846933.tar.gz
asyncio, Tulip issue 131: as_completed() and wait() now raises a TypeError if
the list of futures is not a list but a Future, Task or coroutine object
Diffstat (limited to 'Lib/test/test_asyncio/test_tasks.py')
-rw-r--r--Lib/test/test_asyncio/test_tasks.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/Lib/test/test_asyncio/test_tasks.py b/Lib/test/test_asyncio/test_tasks.py
index 29bdaf5bd4..6847de0471 100644
--- a/Lib/test/test_asyncio/test_tasks.py
+++ b/Lib/test/test_asyncio/test_tasks.py
@@ -7,6 +7,11 @@ import asyncio
from asyncio import test_utils
+@asyncio.coroutine
+def coroutine_function():
+ pass
+
+
class Dummy:
def __repr__(self):
@@ -1338,6 +1343,27 @@ class TaskTests(unittest.TestCase):
child2.set_result(2)
test_utils.run_briefly(self.loop)
+ def test_as_completed_invalid_args(self):
+ fut = asyncio.Future(loop=self.loop)
+
+ # as_completed() expects a list of futures, not a future instance
+ self.assertRaises(TypeError, self.loop.run_until_complete,
+ asyncio.as_completed(fut, loop=self.loop))
+ self.assertRaises(TypeError, self.loop.run_until_complete,
+ asyncio.as_completed(coroutine_function(), loop=self.loop))
+
+ def test_wait_invalid_args(self):
+ fut = asyncio.Future(loop=self.loop)
+
+ # wait() expects a list of futures, not a future instance
+ self.assertRaises(TypeError, self.loop.run_until_complete,
+ asyncio.wait(fut, loop=self.loop))
+ self.assertRaises(TypeError, self.loop.run_until_complete,
+ asyncio.wait(coroutine_function(), loop=self.loop))
+
+ # wait() expects at least a future
+ self.assertRaises(ValueError, self.loop.run_until_complete,
+ asyncio.wait([], loop=self.loop))
class GatherTestsBase: