@@ -27,6 +27,18 @@ def format_coroutine(qualname, state, src, source_traceback, generator=False):
27
27
return 'coro=<%s() %s at %s>' % (qualname , state , src )
28
28
29
29
30
+ try :
31
+ all_tasks = asyncio .all_tasks
32
+ except AttributeError :
33
+ all_tasks = asyncio .Task .all_tasks
34
+
35
+
36
+ try :
37
+ current_task = asyncio .current_task
38
+ except AttributeError :
39
+ current_task = asyncio .Task .current_task
40
+
41
+
30
42
class _TestTasks :
31
43
32
44
def test_task_basics (self ):
@@ -88,7 +100,7 @@ def task():
88
100
return 12
89
101
90
102
t = self .create_task (task ())
91
- self .assertEqual (asyncio . Task . all_tasks (loop = self .loop ), {t })
103
+ self .assertEqual (all_tasks (loop = self .loop ), {t })
92
104
tb .run_briefly (self .loop )
93
105
94
106
f .cancel ()
@@ -239,42 +251,42 @@ def wait_for_future():
239
251
self .assertFalse (fut .done ())
240
252
241
253
def test_task_current_task (self ):
242
- self .assertIsNone (asyncio . Task . current_task (loop = self .loop ))
254
+ self .assertIsNone (current_task (loop = self .loop ))
243
255
244
256
@asyncio .coroutine
245
257
def coro (loop ):
246
- self .assertTrue (asyncio . Task . current_task (loop = loop ) is task )
258
+ self .assertTrue (current_task (loop = loop ) is task )
247
259
248
260
task = self .create_task (coro (self .loop ))
249
261
self .loop .run_until_complete (task )
250
- self .assertIsNone (asyncio . Task . current_task (loop = self .loop ))
262
+ self .assertIsNone (current_task (loop = self .loop ))
251
263
252
264
def test_task_current_task_with_interleaving_tasks (self ):
253
- self .assertIsNone (asyncio . Task . current_task (loop = self .loop ))
265
+ self .assertIsNone (current_task (loop = self .loop ))
254
266
255
267
fut1 = self .create_future ()
256
268
fut2 = self .create_future ()
257
269
258
270
@asyncio .coroutine
259
271
def coro1 (loop ):
260
- self .assertTrue (asyncio . Task . current_task (loop = loop ) is task1 )
272
+ self .assertTrue (current_task (loop = loop ) is task1 )
261
273
yield from fut1
262
- self .assertTrue (asyncio . Task . current_task (loop = loop ) is task1 )
274
+ self .assertTrue (current_task (loop = loop ) is task1 )
263
275
fut2 .set_result (True )
264
276
265
277
@asyncio .coroutine
266
278
def coro2 (loop ):
267
- self .assertTrue (asyncio . Task . current_task (loop = loop ) is task2 )
279
+ self .assertTrue (current_task (loop = loop ) is task2 )
268
280
fut1 .set_result (True )
269
281
yield from fut2
270
- self .assertTrue (asyncio . Task . current_task (loop = loop ) is task2 )
282
+ self .assertTrue (current_task (loop = loop ) is task2 )
271
283
272
284
task1 = self .create_task (coro1 (self .loop ))
273
285
task2 = self .create_task (coro2 (self .loop ))
274
286
275
287
self .loop .run_until_complete (asyncio .wait ((task1 , task2 ),
276
288
loop = self .loop ))
277
- self .assertIsNone (asyncio . Task . current_task (loop = self .loop ))
289
+ self .assertIsNone (current_task (loop = self .loop ))
278
290
279
291
def test_task_yield_future_passes_cancel (self ):
280
292
# Canceling outer() cancels inner() cancels waiter.
0 commit comments