@@ -89,8 +89,8 @@ class BaseTaskTests:
8989 Future = None
9090 all_tasks = None
9191
92- def new_task (self , loop , coro , name = 'TestTask' , context = None ):
93- return self .__class__ .Task (coro , loop = loop , name = name , context = context )
92+ def new_task (self , loop , coro , name = 'TestTask' , context = None , eager_start = None ):
93+ return self .__class__ .Task (coro , loop = loop , name = name , context = context , eager_start = eager_start )
9494
9595 def new_future (self , loop ):
9696 return self .__class__ .Future (loop = loop )
@@ -2686,6 +2686,35 @@ async def main():
26862686
26872687 self .assertEqual ([None , 1 , 2 ], ret )
26882688
2689+ def test_eager_start_true (self ):
2690+ name = None
2691+
2692+ async def asyncfn ():
2693+ nonlocal name
2694+ name = self .current_task ().get_name ()
2695+
2696+ async def main ():
2697+ t = self .new_task (coro = asyncfn (), loop = asyncio .get_running_loop (), eager_start = True , name = "example" )
2698+ self .assertTrue (t .done ())
2699+ self .assertEqual (name , "example" )
2700+ await t
2701+
2702+ def test_eager_start_false (self ):
2703+ name = None
2704+
2705+ async def asyncfn ():
2706+ nonlocal name
2707+ name = self .current_task ().get_name ()
2708+
2709+ async def main ():
2710+ t = self .new_task (coro = asyncfn (), loop = asyncio .get_running_loop (), eager_start = False , name = "example" )
2711+ self .assertFalse (t .done ())
2712+ self .assertIsNone (name )
2713+ await t
2714+ self .assertEqual (name , "example" )
2715+
2716+ asyncio .run (main (), loop_factory = asyncio .EventLoop )
2717+
26892718 def test_get_coro (self ):
26902719 loop = asyncio .new_event_loop ()
26912720 coro = coroutine_function ()
0 commit comments