tests: Rename uasyncio to asyncio.
This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This commit is contained in:
committed by
Damien George
parent
2fbc08c462
commit
6027c41c8f
42
tests/extmod/asyncio_loop_stop.py
Normal file
42
tests/extmod/asyncio_loop_stop.py
Normal file
@@ -0,0 +1,42 @@
|
||||
# Test Loop.stop() to stop the event loop
|
||||
|
||||
try:
|
||||
import asyncio
|
||||
except ImportError:
|
||||
print("SKIP")
|
||||
raise SystemExit
|
||||
|
||||
|
||||
async def task():
|
||||
print("task")
|
||||
|
||||
|
||||
async def main():
|
||||
print("start")
|
||||
|
||||
# Stop the loop after next yield
|
||||
loop.stop()
|
||||
|
||||
# Check that calling stop() again doesn't do/break anything
|
||||
loop.stop()
|
||||
|
||||
# This await should stop
|
||||
print("sleep")
|
||||
await asyncio.sleep(0)
|
||||
|
||||
# Schedule stop, then create a new task, then yield
|
||||
loop.stop()
|
||||
asyncio.create_task(task())
|
||||
await asyncio.sleep(0)
|
||||
|
||||
# Final stop
|
||||
print("end")
|
||||
loop.stop()
|
||||
|
||||
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.create_task(main())
|
||||
|
||||
for i in range(3):
|
||||
print("run", i)
|
||||
loop.run_forever()
|
||||
Reference in New Issue
Block a user