| #include "unit-test.h" | |
| #include "mem-pool.h" | |
| static void test_many_pool_allocations(size_t block_alloc) | |
| { | |
| struct mem_pool pool = { .block_alloc = block_alloc }; | |
| size_t size = 100; | |
| char *buffer = mem_pool_calloc(&pool, 1, size); | |
| for (size_t i = 0; i < size; i++) | |
| cl_assert_equal_i(0, buffer[i]); | |
| cl_assert(pool.mp_block != NULL); | |
| cl_assert(pool.mp_block->next_free != NULL); | |
| cl_assert(pool.mp_block->end != NULL); | |
| mem_pool_discard(&pool, 0); | |
| } | |
| void test_mem_pool__big_block(void) | |
| { | |
| test_many_pool_allocations(1024 * 1024); | |
| } | |
| void test_mem_pool__tiny_block(void) | |
| { | |
| test_many_pool_allocations(1); | |
| } |