diff options
| author | bozo.kopic <bozo@kopic.xyz> | 2022-08-02 01:20:12 +0200 |
|---|---|---|
| committer | bozo.kopic <bozo@kopic.xyz> | 2022-09-25 02:40:23 +0200 |
| commit | 288727f09a1b3458c268497d111349e608c3f9fa (patch) | |
| tree | d62565249fa3c7127856c65405752572fc41aca9 /test_c/mem.c | |
Diffstat (limited to 'test_c/mem.c')
| -rw-r--r-- | test_c/mem.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/test_c/mem.c b/test_c/mem.c new file mode 100644 index 0000000..930bfde --- /dev/null +++ b/test_c/mem.c @@ -0,0 +1,38 @@ +#include "acutest.h" +#include "../src_c/mem.h" + +#define MEM_SIZE 32 + + +lsp_int8_t data[sizeof(lsp_mem_t) + MEM_SIZE * sizeof(lsp_cell_t)]; + + +void test_mem_gc() { + lsp_mem_t *m = (void *)data; + lsp_mem_init(m, MEM_SIZE); + + for (lsp_int32_t i = 0; i < 10000; ++i) { + lsp_addr_t addr; + TEST_ASSERT(lsp_mem_create_number(m, i, &addr) == LSP_SUCCESS); + lsp_mem_dec_ref(m, addr); + } +} + + +void test_mem_no_gc() { + lsp_int32_t i; + lsp_mem_t *m = (void *)data; + lsp_mem_init(m, MEM_SIZE); + + for (i = 0; i < 10000; ++i) { + lsp_addr_t addr; + if (lsp_mem_create_number(m, i, &addr) != LSP_SUCCESS) + break; + } + + TEST_ASSERT(i > 1 && i < MEM_SIZE); +} + + +TEST_LIST = { + {"mem_gc", test_mem_gc}, {"mem_no_gc", test_mem_no_gc}, {NULL, NULL}}; |
