diff options
| author | Damien George <damien.p.george@gmail.com> | 2019-11-13 21:08:22 +1100 |
|---|---|---|
| committer | Damien George <damien.p.george@gmail.com> | 2020-03-26 01:25:45 +1100 |
| commit | c4935f30490d0446e16a51dbf7a6397b771cf804 (patch) | |
| tree | b095dd91914950939d4d0cdc10e7be3625fff00d /tests/extmod/uasyncio_cancel_self.py | |
| parent | 63b99443820f53afbdab5201044629d2bfecd73b (diff) | |
tests/extmod: Add uasyncio tests.
All .exp files are included because they require CPython 3.8 which may not
always be available.
Diffstat (limited to 'tests/extmod/uasyncio_cancel_self.py')
| -rw-r--r-- | tests/extmod/uasyncio_cancel_self.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/extmod/uasyncio_cancel_self.py b/tests/extmod/uasyncio_cancel_self.py new file mode 100644 index 000000000..660ae6638 --- /dev/null +++ b/tests/extmod/uasyncio_cancel_self.py @@ -0,0 +1,31 @@ +# Test a task cancelling itself (currently unsupported) + +try: + import uasyncio as asyncio +except ImportError: + 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) |
