aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDouglas B. Rumbaugh <doug@douglasrumbaugh.com>2025-11-02 16:08:39 -0500
committerDouglas B. Rumbaugh <doug@douglasrumbaugh.com>2025-11-02 16:08:39 -0500
commit5d8131a4240e4dab0e519bd3e29e3cabf5f09672 (patch)
tree4ad3ce89cdc6b74ef092815f37dcf65bd482d61c
parenta6dcb959f9009e0be650ceec41f5f1f5a85eac63 (diff)
downloadliballoc-5d8131a4240e4dab0e519bd3e29e3cabf5f09672.tar.gz
Added free list reuse test
-rw-r--r--tests/liballoc_tests.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/tests/liballoc_tests.c b/tests/liballoc_tests.c
index cfd976a..6b4a4d3 100644
--- a/tests/liballoc_tests.c
+++ b/tests/liballoc_tests.c
@@ -86,6 +86,21 @@ START_TEST(unaligned_allocation) {
}
+START_TEST(free_list_reuse) {
+ size_t size = ALIGNMENT *3;
+
+ void *memory = allocate(size);
+ release(memory);
+
+ for (size_t i=0; i<10; i++) {
+ void *new_memory = allocate(size);
+ ck_assert_ptr_eq(memory, new_memory);
+ ck_assert_ptr_null(free_list_head());
+ release(new_memory);
+ }
+}
+
+
Suite *liballoc_suite(void) {
Suite *s;
TCase *unit;
@@ -98,7 +113,7 @@ Suite *liballoc_suite(void) {
tcase_add_test(unit, unaligned_allocation);
tcase_add_test(unit, basic_release);
tcase_add_test(unit, release_null);
-
+ tcase_add_test(unit, free_list_reuse);
suite_add_tcase(s, unit);
return s;