From ba8728320cbda4ecb95ffe9d795f0121524e923f Mon Sep 17 00:00:00 2001 From: "Douglas B. Rumbaugh" Date: Sun, 2 Nov 2025 16:52:27 -0500 Subject: liballoc_tests: Added coalesce testing for free list --- tests/liballoc_tests.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/tests/liballoc_tests.c b/tests/liballoc_tests.c index fed6080..ad45636 100644 --- a/tests/liballoc_tests.c +++ b/tests/liballoc_tests.c @@ -121,6 +121,57 @@ START_TEST(free_list_reuse) { release(new_memory); } } +END_TEST + +START_TEST(free_list_coalesce_forward) { + size_t size =ALIGNMENT*3; + const size_t n = 100; + void *ptrs[n]; + + for (size_t i=0; inext); + ck_assert_int_eq(fl_head->size, (cnt)*size + (cnt-1)*sizeof(header)); + } +} +END_TEST + + +START_TEST(free_list_coalesce_backward) { + size_t size =ALIGNMENT*3; + const size_t n = 100; + void *ptrs[n]; + + for (size_t i=0; i=0; i--) { + release(ptrs[i]); + cnt++; + free_nd *fl_head = free_list_head(); + ck_assert_ptr_null(fl_head->next); + ck_assert_int_eq(fl_head->size, (cnt)*size + (cnt-1)*sizeof(header)); + } +} +END_TEST + Suite *liballoc_suite(void) { @@ -136,6 +187,8 @@ Suite *liballoc_suite(void) { tcase_add_test(unit, basic_release); tcase_add_test(unit, release_null); tcase_add_test(unit, free_list_reuse); + tcase_add_test(unit, free_list_coalesce_forward); + tcase_add_test(unit, free_list_coalesce_backward); suite_add_tcase(s, unit); return s; -- cgit v1.2.3