summaryrefslogtreecommitdiff
path: root/tests/micropython/heapalloc_fail_memoryview.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/micropython/heapalloc_fail_memoryview.py')
-rw-r--r--tests/micropython/heapalloc_fail_memoryview.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/micropython/heapalloc_fail_memoryview.py b/tests/micropython/heapalloc_fail_memoryview.py
new file mode 100644
index 000000000..3ba9015ff
--- /dev/null
+++ b/tests/micropython/heapalloc_fail_memoryview.py
@@ -0,0 +1,25 @@
+# test handling of failed heap allocation with memoryview
+
+import micropython
+
+class GetSlice:
+ def __getitem__(self, idx):
+ return idx
+sl = GetSlice()[:]
+
+# create memoryview
+micropython.heap_lock()
+try:
+ memoryview(b'')
+except MemoryError:
+ print('MemoryError: memoryview create')
+micropython.heap_unlock()
+
+# memoryview get with slice
+m = memoryview(b'')
+micropython.heap_lock()
+try:
+ m[sl]
+except MemoryError:
+ print('MemoryError: memoryview subscr get')
+micropython.heap_unlock()