File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed
Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change 22
33
44import asyncio
5+ import contextvars
56
67from asyncio import taskgroups
78import unittest
@@ -708,6 +709,23 @@ async def coro():
708709 t = g .create_task (coro (), name = "yolo" )
709710 self .assertEqual (t .get_name (), "yolo" )
710711
712+ async def test_taskgroup_task_context (self ):
713+ cvar = contextvars .ContextVar ('cvar' )
714+
715+ async def coro (val ):
716+ await asyncio .sleep (0 )
717+ cvar .set (val )
718+
719+ async with taskgroups .TaskGroup () as g :
720+ ctx = contextvars .copy_context ()
721+ self .assertIsNone (ctx .get (cvar ))
722+ t1 = g .create_task (coro (1 ), context = ctx )
723+ await t1
724+ self .assertEqual (1 , ctx .get (cvar ))
725+ t2 = g .create_task (coro (2 ), context = ctx )
726+ await t2
727+ self .assertEqual (2 , ctx .get (cvar ))
728+
711729
712730if __name__ == "__main__" :
713731 unittest .main ()
You can’t perform that action at this time.
0 commit comments