pikapython/test/thread-test.cpp
lyon 38388625ca support mark-sweep gc
change project name and url on kernal sources

rename global Value

format name

use g_PikaObjState

add gc chain

add gc_mark()

add printCanFree

add sub locals init

try use mark-sweep to solve circle-ref

use mark sweep to collect circle ref succeed

import mark-sweep GC

config_default

update
2023-03-05 12:57:27 +08:00

38 lines
1008 B
C

#include "test_common.h"
TEST_START
#if !PIKA_NANO_ENABLE && 1
TEST(thread, test1) {
g_pikaMemInfo.heapUsedMax = 0;
PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
extern unsigned char pikaModules_py_a[];
obj_linkLibrary(pikaMain, pikaModules_py_a);
/* run */
__platform_printf("BEGIN\r\n");
pikaVM_runSingleFile(pikaMain, "test/python/_thread/test1.py");
/* clang-format on */
/* deinit */
obj_deinit(pikaMain);
EXPECT_EQ(pikaMemNow(), 0);
}
TEST(thread, self) {
g_pikaMemInfo.heapUsedMax = 0;
PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
extern unsigned char pikaModules_py_a[];
obj_linkLibrary(pikaMain, pikaModules_py_a);
/* run */
__platform_printf("BEGIN\r\n");
pikaVM_runSingleFile(pikaMain, "test/python/_thread/thread_self.py");
/* clang-format on */
/* deinit */
obj_deinit(pikaMain);
EXPECT_STREQ(log_buff[0], "self._val: 2\r\n");
EXPECT_EQ(pikaMemNow(), 0);
}
#endif
TEST_END