summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extmod/asyncio/manifest.py3
-rw-r--r--extmod/asyncio/uasyncio.py8
-rw-r--r--tests/extmod/asyncio_as_uasyncio.py12
-rw-r--r--tests/extmod/asyncio_as_uasyncio.py.exp2
4 files changed, 25 insertions, 0 deletions
diff --git a/extmod/asyncio/manifest.py b/extmod/asyncio/manifest.py
index 0aba5b185..e8dc76432 100644
--- a/extmod/asyncio/manifest.py
+++ b/extmod/asyncio/manifest.py
@@ -13,3 +13,6 @@ package(
base_path="..",
opt=3,
)
+
+# Backwards-compatible uasyncio module.
+module("uasyncio.py", opt=3)
diff --git a/extmod/asyncio/uasyncio.py b/extmod/asyncio/uasyncio.py
new file mode 100644
index 000000000..67e6ddcfa
--- /dev/null
+++ b/extmod/asyncio/uasyncio.py
@@ -0,0 +1,8 @@
+# This module just allows `import uasyncio` to work. It lazy-loads from
+# `asyncio` without duplicating its globals dict.
+
+
+def __getattr__(attr):
+ import asyncio
+
+ return getattr(asyncio, attr)
diff --git a/tests/extmod/asyncio_as_uasyncio.py b/tests/extmod/asyncio_as_uasyncio.py
new file mode 100644
index 000000000..612292299
--- /dev/null
+++ b/tests/extmod/asyncio_as_uasyncio.py
@@ -0,0 +1,12 @@
+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)
diff --git a/tests/extmod/asyncio_as_uasyncio.py.exp b/tests/extmod/asyncio_as_uasyncio.py.exp
new file mode 100644
index 000000000..9405b8010
--- /dev/null
+++ b/tests/extmod/asyncio_as_uasyncio.py.exp
@@ -0,0 +1,2 @@
+set()
+set()