aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-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;