summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/extmod/uasyncio_heaplock.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/tests/extmod/uasyncio_heaplock.py b/tests/extmod/uasyncio_heaplock.py
index a6b4a0819..9c9487357 100644
--- a/tests/extmod/uasyncio_heaplock.py
+++ b/tests/extmod/uasyncio_heaplock.py
@@ -8,11 +8,19 @@ import micropython
# strict stackless builds can't call functions without allocating a frame on the heap
try:
- f = lambda: 0
+ # force bytecode (in case we're running with emit=native) and verify
+ # that bytecode-calling-bytecode doesn't allocate
+ @micropython.bytecode
+ def f(x):
+ x and f(x - 1)
+
micropython.heap_lock()
- f()
+ f(1)
micropython.heap_unlock()
except RuntimeError:
+ # RuntimeError (max recursion depth) not MemoryError because effectively
+ # the recursion depth is at the limit while the heap is locked with
+ # stackless
print("SKIP")
raise SystemExit