micropython/tests/extmod/asyncio_as_uasyncio.py
Jim Mussared 78f4f30cb1 tests/extmod/asyncio_as_uasyncio.py: Fix qstr order dependency.
This test depends on the order in which qstrs are stored in ROM, which
affects the order in which `dir()` will probe the object to see what it
supports.  Because of the lazy-loading in asyncio/__init__.py, if it
tries to do e.g. `wait_for_ms` before `funcs` then it will import funcs,
making `funcs` later succeed. But in the other way around, `funcs` will
initially not be found.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-10-30 11:10:02 +11:00

34 lines
585 B
Python

try:
import uasyncio
except ImportError:
print("SKIP")
raise SystemExit
# Sample of public symbols we expect to see from `asyncio`. Verify they're all
# available on `uasyncio`.
expected = [
"CancelledError",
"create_task",
"current_task",
"Event",
"gather",
"get_event_loop",
"Lock",
"Loop",
"open_connection",
"run",
"run_until_complete",
"sleep",
"sleep_ms",
"start_server",
"StreamReader",
"StreamWriter",
"Task",
"ThreadSafeFlag",
"wait_for",
]
for e in expected:
getattr(uasyncio, e)