| #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); |
| } |