From 8d89695fcc620127a452daf9494313bc4ca486b4 Mon Sep 17 00:00:00 2001 From: Abdelrahman Said Date: Mon, 3 Jun 2024 08:05:14 +0100 Subject: [PATCH] Test reserving a massive arena --- tests/arena/test_arena.c | 12 ++++++++++++ tests/arena/test_arena.h | 1 + tests/wapptest.c | 1 + 3 files changed, 14 insertions(+) diff --git a/tests/arena/test_arena.c b/tests/arena/test_arena.c index b90c576..0faf523 100644 --- a/tests/arena/test_arena.c +++ b/tests/arena/test_arena.c @@ -19,6 +19,18 @@ TestFuncResult test_arena_init(void) { return wapp_tester_result(result); } +TestFuncResult test_arena_init_succeeds_when_reserving_very_large_size(void) { + Arena *large_arena = NULL; + u64 capacity = 512ull * 1024ull * 1024ull * 1024ull; + bool result = + wapp_mem_arena_init(&large_arena, capacity, WAPP_MEM_ALLOC_RESERVE, false); + if (result) { + wapp_mem_arena_destroy(&large_arena); + } + + return wapp_tester_result(result); +} + TestFuncResult test_arena_alloc_succeeds_when_within_capacity(void) { array = wapp_mem_arena_alloc(arena, count * sizeof(i32)); bool result = array != NULL; diff --git a/tests/arena/test_arena.h b/tests/arena/test_arena.h index 8e6be9f..07b066f 100644 --- a/tests/arena/test_arena.h +++ b/tests/arena/test_arena.h @@ -8,6 +8,7 @@ extern "C" { #endif // __cplusplus TestFuncResult test_arena_init(void); +TestFuncResult test_arena_init_succeeds_when_reserving_very_large_size(void); TestFuncResult test_arena_alloc_succeeds_when_within_capacity(void); TestFuncResult test_arena_alloc_fails_when_over_capacity(void); TestFuncResult test_arena_clear(void); diff --git a/tests/wapptest.c b/tests/wapptest.c index 5b1db28..a7156c3 100644 --- a/tests/wapptest.c +++ b/tests/wapptest.c @@ -4,6 +4,7 @@ int main(void) { wapp_tester_run_tests(test_arena_init, + test_arena_init_succeeds_when_reserving_very_large_size, test_arena_alloc_succeeds_when_within_capacity, test_arena_alloc_fails_when_over_capacity, test_arena_clear, test_arena_destroy);