diff options
Diffstat (limited to 'tests/extmod/asyncio_cancel_self.py')
-rw-r--r-- | tests/extmod/asyncio_cancel_self.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/extmod/asyncio_cancel_self.py b/tests/extmod/asyncio_cancel_self.py new file mode 100644 index 0000000000..a437edb540 --- /dev/null +++ b/tests/extmod/asyncio_cancel_self.py @@ -0,0 +1,28 @@ +# Test a task cancelling itself (currently unsupported) + +try: + import asyncio +except ImportError: + print("SKIP") + raise SystemExit + + +async def task(): + print("task start") + global_task.cancel() + + +async def main(): + global global_task + global_task = asyncio.create_task(task()) + try: + await global_task + except asyncio.CancelledError: + print("main cancel") + print("main done") + + +try: + asyncio.run(main()) +except RuntimeError as er: + print(er) |