1# test handling of failed heap allocation with memoryview
2
3import micropython
4
5
6class GetSlice:
7    def __getitem__(self, idx):
8        return idx
9
10
11sl = GetSlice()[:]
12
13# create memoryview
14micropython.heap_lock()
15try:
16    memoryview(b"")
17except MemoryError:
18    print("MemoryError: memoryview create")
19micropython.heap_unlock()
20
21# memoryview get with slice
22m = memoryview(b"")
23micropython.heap_lock()
24try:
25    m[sl]
26except MemoryError:
27    print("MemoryError: memoryview subscr get")
28micropython.heap_unlock()
29