circuitpython/tests/micropython/heap_lock.py

35 lines
548 B
Python

# check that heap_lock/heap_unlock work as expected
import micropython
l = []
l2 = list(range(100))
micropython.heap_lock()
micropython.heap_lock()
# general allocation on the heap
try:
print([])
except MemoryError:
print("MemoryError")
# expansion of a heap block
try:
l.extend(l2)
except MemoryError:
print("MemoryError")
print(micropython.heap_unlock())
# Should still fail
try:
print([])
except MemoryError:
print("MemoryError")
micropython.heap_unlock()
# check that allocation works after an unlock
print([])