From 332c114cf633f70027c28ec6bedb898d9de85e51 Mon Sep 17 00:00:00 2001 From: nodist Date: Mon, 12 Oct 2026 11:06:37 -0400 Subject: basic allocator with valgrind testing --- test/memory.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 test/memory.c (limited to 'test/memory.c') diff --git a/test/memory.c b/test/memory.c new file mode 100644 index 0000000..05db8a2 --- /dev/null +++ b/test/memory.c @@ -0,0 +1,19 @@ + +#include "kpl_test.h" + +KPL_TEST(allocate) { + kpl_memory_allocator allocator = {}; + kpl_memory_allocator_init(&allocator); + for (int32_t times = 0; times < 700; times++) { + kpl_object *objects[10] = {}; + for (int32_t object = 0; object < 10; object++) { + objects[object] = kpl_memory_allocator_allocate(&allocator, 32, KPL_THREAD_MAIN_ID); + KPL_ASSERT(objects[object]->object_size == 32, "Invalid size for 32 byte object"); + } + for (int32_t object = 0; object < 10; object++) + kpl_memory_allocator_return(&allocator, objects[object]); + } + kpl_memory_allocator_slab_group *slab_group32 = &allocator.slabs[5]; + KPL_ASSERT(slab_group32->slab_head == slab_group32->slab_tail, "Only one slab should have been allocated"); + kpl_memory_allocator_free(&allocator); +} -- cgit v1.2.3