From ac55d9ff0b588b91202ccad72ee71e508e33ad08 Mon Sep 17 00:00:00 2001 From: bd Date: Sat, 19 Jul 2025 22:21:10 -0600 Subject: Reformat repository to allow for new unit tests --- t/task_groups_and_cancel.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 t/task_groups_and_cancel.py (limited to 't/task_groups_and_cancel.py') diff --git a/t/task_groups_and_cancel.py b/t/task_groups_and_cancel.py new file mode 100644 index 0000000..dcc6bbe --- /dev/null +++ b/t/task_groups_and_cancel.py @@ -0,0 +1,35 @@ +import asyncio + + +async def sleep(): + await asyncio.sleep(3) + print('I should never finish!') + return 0 + + +async def work(): + i = 0 + while i < 50: + i += 1 + await asyncio.sleep(0.2) + return 0 + + +async def explode(): + await asyncio.sleep(1.5) + a = 1 / 0 + return a + + +async def main(): + # exploding will bring all other tasks down with it! + try: + async with asyncio.TaskGroup() as tg: + tg.create_task(sleep()) + tg.create_task(work()) + tg.create_task(explode()) + except: + pass + + +asyncio.run(main()) -- cgit v1.2.3