@@ -89,8 +89,8 @@ class BaseTaskTests:
89
89
Future = None
90
90
all_tasks = None
91
91
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 )
94
94
95
95
def new_future (self , loop ):
96
96
return self .__class__ .Future (loop = loop )
@@ -2686,6 +2686,35 @@ async def main():
2686
2686
2687
2687
self .assertEqual ([None , 1 , 2 ], ret )
2688
2688
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
+
2689
2718
def test_get_coro (self ):
2690
2719
loop = asyncio .new_event_loop ()
2691
2720
coro = coroutine_function ()
0 commit comments