mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
32 lines
820 B
C
32 lines
820 B
C
![]() |
#include "test-lib.h"
|
||
|
#include "mem-pool.h"
|
||
|
|
||
|
static void setup_static(void (*f)(struct mem_pool *), size_t block_alloc)
|
||
|
{
|
||
|
struct mem_pool pool = { .block_alloc = block_alloc };
|
||
|
f(&pool);
|
||
|
mem_pool_discard(&pool, 0);
|
||
|
}
|
||
|
|
||
|
static void t_calloc_100(struct mem_pool *pool)
|
||
|
{
|
||
|
size_t size = 100;
|
||
|
char *buffer = mem_pool_calloc(pool, 1, size);
|
||
|
for (size_t i = 0; i < size; i++)
|
||
|
check_int(buffer[i], ==, 0);
|
||
|
if (!check(pool->mp_block != NULL))
|
||
|
return;
|
||
|
check(pool->mp_block->next_free != NULL);
|
||
|
check(pool->mp_block->end != NULL);
|
||
|
}
|
||
|
|
||
|
int cmd_main(int argc, const char **argv)
|
||
|
{
|
||
|
TEST(setup_static(t_calloc_100, 1024 * 1024),
|
||
|
"mem_pool_calloc returns 100 zeroed bytes with big block");
|
||
|
TEST(setup_static(t_calloc_100, 1),
|
||
|
"mem_pool_calloc returns 100 zeroed bytes with tiny block");
|
||
|
|
||
|
return test_done();
|
||
|
}
|