We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent f5816da commit 1d26ee1Copy full SHA for 1d26ee1
1 file changed
Lib/test/test_asyncio/test_taskgroups.py
@@ -2,6 +2,7 @@
2
3
4
import asyncio
5
+import contextvars
6
7
from asyncio import taskgroups
8
import unittest
@@ -708,6 +709,23 @@ async def coro():
708
709
t = g.create_task(coro(), name="yolo")
710
self.assertEqual(t.get_name(), "yolo")
711
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
729
730
if __name__ == "__main__":
731
unittest.main()
0 commit comments