summaryrefslogtreecommitdiff
path: root/tests/micropython/heap_lock.py
blob: f2892a6dc581e1c9e63aa3746a2f2d6079e413ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 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([])