summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2021-05-18 00:23:13 +1000
committerDamien George <damien@micropython.org>2021-05-18 10:18:56 +1000
commit6d2680fa36696fd0b2fd7a595f4a26153cd84e07 (patch)
treef706f1f523bd5c0b135e66fb1aa4b7a48920096b /tests
parent1446107b4d24915143f8212c2f649a0e628735cc (diff)
py/objarray: Fix constructing a memoryview from a memoryview.
Fixes issue #7261. Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/memoryview_gc.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/basics/memoryview_gc.py b/tests/basics/memoryview_gc.py
index d366cbbb1..5cd6124ad 100644
--- a/tests/basics/memoryview_gc.py
+++ b/tests/basics/memoryview_gc.py
@@ -21,3 +21,13 @@ for i in range(100000):
# check that the memoryview is still what we want
print(list(m))
+
+# check that creating a memoryview of a memoryview retains the underlying data
+m = None
+gc.collect() # cleanup from previous test
+m = memoryview(memoryview(bytearray(i for i in range(50)))[5:-5])
+print(sum(m), list(m[:10]))
+gc.collect()
+for i in range(10):
+ list(range(10)) # allocate memory to overwrite any reclaimed heap
+print(sum(m), list(m[:10]))