File tree 2 files changed +24
-26
lines changed 2 files changed +24
-26
lines changed Original file line number Diff line number Diff line change @@ -1990,32 +1990,6 @@ def test_task_source_traceback(self):
1990
1990
'test_task_source_traceback' ))
1991
1991
self .loop .run_until_complete (task )
1992
1992
1993
- def _test_cancel_wait_for (self , timeout ):
1994
- loop = asyncio .new_event_loop ()
1995
- self .addCleanup (loop .close )
1996
-
1997
- async def blocking_coroutine ():
1998
- fut = self .new_future (loop )
1999
- # Block: fut result is never set
2000
- await fut
2001
-
2002
- task = loop .create_task (blocking_coroutine ())
2003
-
2004
- wait = loop .create_task (asyncio .wait_for (task , timeout ))
2005
- loop .call_soon (wait .cancel )
2006
-
2007
- self .assertRaises (asyncio .CancelledError ,
2008
- loop .run_until_complete , wait )
2009
-
2010
- # Python issue #23219: cancelling the wait must also cancel the task
2011
- self .assertTrue (task .cancelled ())
2012
-
2013
- def test_cancel_blocking_wait_for (self ):
2014
- self ._test_cancel_wait_for (None )
2015
-
2016
- def test_cancel_wait_for (self ):
2017
- self ._test_cancel_wait_for (60.0 )
2018
-
2019
1993
def test_cancel_gather_1 (self ):
2020
1994
"""Ensure that a gathering future refuses to be cancelled once all
2021
1995
children are done"""
Original file line number Diff line number Diff line change @@ -264,6 +264,30 @@ async def inner():
264
264
265
265
self .assertEqual (await inner_task , 42 )
266
266
267
+ async def _test_cancel_wait_for (self , timeout ):
268
+ loop = asyncio .get_running_loop ()
269
+
270
+ async def blocking_coroutine ():
271
+ fut = loop .create_future ()
272
+ # Block: fut result is never set
273
+ await fut
274
+
275
+ task = asyncio .create_task (blocking_coroutine ())
276
+
277
+ wait = asyncio .create_task (asyncio .wait_for (task , timeout ))
278
+ loop .call_soon (wait .cancel )
279
+
280
+ with self .assertRaises (asyncio .CancelledError ):
281
+ await wait
282
+
283
+ # Python issue #23219: cancelling the wait must also cancel the task
284
+ self .assertTrue (task .cancelled ())
285
+
286
+ async def test_cancel_blocking_wait_for (self ):
287
+ await self ._test_cancel_wait_for (None )
288
+
289
+ async def test_cancel_wait_for (self ):
290
+ await self ._test_cancel_wait_for (60.0 )
267
291
268
292
269
293
if __name__ == '__main__' :
You can’t perform that action at this time.
0 commit comments