diff options
author | Jim Mussared <jim.mussared@gmail.com> | 2023-10-09 14:07:28 +1100 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2023-10-30 11:10:02 +1100 |
commit | 78f4f30cb1aadbb46ad39220de5369e72c093509 (patch) | |
tree | 8fcd29126267d953fed62a38876a2f42c9f34407 /tests/extmod/asyncio_as_uasyncio.py | |
parent | 1a017511d0b25b8b4a6c3aaa2f2bc17e06b32fa2 (diff) |
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>
Diffstat (limited to 'tests/extmod/asyncio_as_uasyncio.py')
-rw-r--r-- | tests/extmod/asyncio_as_uasyncio.py | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/tests/extmod/asyncio_as_uasyncio.py b/tests/extmod/asyncio_as_uasyncio.py index 612292299..b02198059 100644 --- a/tests/extmod/asyncio_as_uasyncio.py +++ b/tests/extmod/asyncio_as_uasyncio.py @@ -1,12 +1,33 @@ try: import uasyncio - import asyncio except ImportError: print("SKIP") raise SystemExit -x = set(dir(uasyncio)) -y = set(dir(asyncio)) - set(["event", "lock", "stream", "funcs"]) -print(x - y) -print(y - x) +# 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) |