tests/unix: Add coverage tests for various GC calls.
This commit is contained in:
parent
955ee6477f
commit
c3f1b22338
|
@ -4,6 +4,7 @@
|
|||
#include "py/obj.h"
|
||||
#include "py/objstr.h"
|
||||
#include "py/runtime.h"
|
||||
#include "py/gc.h"
|
||||
#include "py/repl.h"
|
||||
#include "py/mpz.h"
|
||||
#include "py/builtin.h"
|
||||
|
@ -159,6 +160,29 @@ STATIC mp_obj_t extra_coverage(void) {
|
|||
mp_printf(&mp_plat_print, "abc\n%"); // string ends in middle of format specifier
|
||||
}
|
||||
|
||||
// GC
|
||||
{
|
||||
mp_printf(&mp_plat_print, "# GC\n");
|
||||
|
||||
// calling gc_free while GC is locked
|
||||
gc_lock();
|
||||
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);
|
||||
mp_printf(&mp_plat_print, "%p\n", gc_realloc(p, 0, false));
|
||||
|
||||
// calling gc_nbytes with a non-heap pointer
|
||||
mp_printf(&mp_plat_print, "%p\n", gc_nbytes(NULL));
|
||||
}
|
||||
|
||||
// vstr
|
||||
{
|
||||
mp_printf(&mp_plat_print, "# vstr\n");
|
||||
|
|
|
@ -13,6 +13,10 @@ false true
|
|||
80000000
|
||||
80000000
|
||||
abc
|
||||
# GC
|
||||
0
|
||||
0
|
||||
0
|
||||
# vstr
|
||||
tests
|
||||
sts
|
||||
|
|
Loading…
Reference in New Issue