summaryrefslogtreecommitdiff
path: root/src/unit/test_arena_allocator.c
blob: eb0ad33be203988324606b88dd2353c05256c9c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "../core/allocator.h"
#include "../core/arena_allocator.h"
#include "../core/std_allocator.h"
#include "./allocator_utils.h"

#include "greatest.h"

SUITE(arena_allocator) {
#define RUN_WITH_ARENA(test)                                              \
	do {                                                              \
		SandAllocator parent = sand_get_std_allocator();          \
		SandArena arena = sand_create_arena(&parent);             \
		SandAllocator a = sand_get_allocator_for_arena(&arena);   \
		RUN_TEST1(test, &a);                                      \
		sand_destroy_arena(&arena);                               \
	} while (0);


	RUN_ALLOCATOR_TESTS(RUN_WITH_ARENA);
#undef X
}