summaryrefslogtreecommitdiff
path: root/tests/micropython/heapalloc_fail_memoryview.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2019-04-18 14:34:12 +1000
committerDamien George <damien.p.george@gmail.com>2019-04-18 14:34:12 +1000
commiteb1f81b209f0d13059ebb4fa2ed105a0d6a4b0d0 (patch)
treebe61d020fc09161fc856d3f1516495219b647978 /tests/micropython/heapalloc_fail_memoryview.py
parent4ce0091449052daca592f852a31eece074d34a57 (diff)
tests/micropython: Add some tests for failed heap allocation.
This adds tests for some locations in the code where a memory allocation should raise an exception.
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()