tests: Move heap-realloc-while-locked test from C to Python.
This test for calling gc_realloc() while the GC is locked can be done in pure Python, so better to do it that way since it can then be tested on more ports.
This commit is contained in:
parent
c3f1b22338
commit
c607b58efe
|
@ -169,14 +169,8 @@ STATIC mp_obj_t extra_coverage(void) {
|
|||
gc_free(NULL);
|
||||
gc_unlock();
|
||||
|
||||
// calling gc_realloc while GC is locked
|
||||
void *p = gc_alloc(4, false);
|
||||
gc_lock();
|
||||
mp_printf(&mp_plat_print, "%p\n", gc_realloc(p, 8, true));
|
||||
gc_unlock();
|
||||
|
||||
// using gc_realloc to resize to 0, which means free the memory
|
||||
p = gc_alloc(4, false);
|
||||
void *p = gc_alloc(4, false);
|
||||
mp_printf(&mp_plat_print, "%p\n", gc_realloc(p, 0, false));
|
||||
|
||||
// calling gc_nbytes with a non-heap pointer
|
||||
|
|
|
@ -2,13 +2,24 @@
|
|||
|
||||
import micropython
|
||||
|
||||
l = []
|
||||
l2 = list(range(100))
|
||||
|
||||
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')
|
||||
|
||||
micropython.heap_unlock()
|
||||
|
||||
# check that allocation works after an unlock
|
||||
print([])
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
MemoryError
|
||||
MemoryError
|
||||
[]
|
||||
|
|
|
@ -16,7 +16,6 @@ abc
|
|||
# GC
|
||||
0
|
||||
0
|
||||
0
|
||||
# vstr
|
||||
tests
|
||||
sts
|
||||
|
|
Loading…
Reference in New Issue