mirror of
https://github.com/python/cpython
synced 2026-09-29 12:10:30 +03:00
bpo-24638: Improve the error message in asyncio.ensure_future() (#12848)
This commit is contained in:
parent
ceb842e155
commit
4737b923df
2 changed files with 11 additions and 1 deletions
|
|
@ -628,7 +628,8 @@ def ensure_future(coro_or_future, *, loop=None):
|
|||
return task
|
||||
elif futures.isfuture(coro_or_future):
|
||||
if loop is not None and loop is not futures._get_loop(coro_or_future):
|
||||
raise ValueError('loop argument must agree with Future')
|
||||
raise ValueError('The future belongs to a different loop than '
|
||||
'the one specified as the loop argument')
|
||||
return coro_or_future
|
||||
elif inspect.isawaitable(coro_or_future):
|
||||
return ensure_future(_wrap_awaitable(coro_or_future), loop=loop)
|
||||
|
|
|
|||
|
|
@ -236,6 +236,15 @@ class BaseTaskTests:
|
|||
with self.assertRaises(TypeError):
|
||||
asyncio.ensure_future('ok')
|
||||
|
||||
def test_ensure_future_error_msg(self):
|
||||
loop = asyncio.new_event_loop()
|
||||
f = self.new_future(self.loop)
|
||||
with self.assertRaisesRegex(ValueError, 'The future belongs to a '
|
||||
'different loop than the one specified as '
|
||||
'the loop argument'):
|
||||
asyncio.ensure_future(f, loop=loop)
|
||||
loop.close()
|
||||
|
||||
def test_get_stack(self):
|
||||
T = None
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue