1# Test a task cancelling itself (currently unsupported)
2
3try:
4    import uasyncio as asyncio
5except ImportError:
6    try:
7        import asyncio
8    except ImportError:
9        print("SKIP")
10        raise SystemExit
11
12
13async def task():
14    print("task start")
15    global_task.cancel()
16
17
18async def main():
19    global global_task
20    global_task = asyncio.create_task(task())
21    try:
22        await global_task
23    except asyncio.CancelledError:
24        print("main cancel")
25    print("main done")
26
27
28try:
29    asyncio.run(main())
30except RuntimeError as er:
31    print(er)
32