@@ -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 )
@@ -2667,6 +2667,35 @@ async def main():
26672667
26682668 self .assertEqual ([None , 1 , 2 ], ret )
26692669
2670+ def test_eager_start_true (self ):
2671+ name = None
2672+
2673+ async def asyncfn ():
2674+ nonlocal name
2675+ name = asyncio .current_task ().get_name ()
2676+
2677+ async def main ():
2678+ t = self .new_task (coro = asyncfn (), loop = asyncio .get_running_loop (), eager_start = True , name = "example" )
2679+ self .assertTrue (t .done ())
2680+ self .assertEqual (name , "example" )
2681+ await t
2682+
2683+ def test_eager_start_false (self ):
2684+ name = None
2685+
2686+ async def asyncfn ():
2687+ nonlocal name
2688+ name = asyncio .current_task ().get_name ()
2689+
2690+ async def main ():
2691+ t = self .new_task (coro = asyncfn (), loop = asyncio .get_running_loop (), eager_start = False , name = "example" )
2692+ self .assertFalse (t .done ())
2693+ self .assertIsNone (name )
2694+ await t
2695+ self .assertEqual (name , "example" )
2696+
2697+ asyncio .run (main (), loop_factory = asyncio .EventLoop )
2698+
26702699 def test_get_coro (self ):
26712700 loop = asyncio .new_event_loop ()
26722701 coro = coroutine_function ()
0 commit comments