tests/test_mempool.c

changeset 1178
9998cfb4a65b
parent 993
b642eca4b956
equal deleted inserted replaced
1177:04ede4de9cec 1178:9998cfb4a65b
30 #include "util_allocator.h" 30 #include "util_allocator.h"
31 31
32 #include "cx/mempool.h" 32 #include "cx/mempool.h"
33 33
34 CX_TEST(test_mempool_create) { 34 CX_TEST(test_mempool_create) {
35 CxMempool *pool = cxBasicMempoolCreate(16); 35 CxMempool *pool = cxMempoolCreateSimple(16);
36 CX_TEST_DO { 36 CX_TEST_DO {
37 CX_TEST_ASSERT(pool->auto_destr == NULL); 37 CX_TEST_ASSERT(pool->auto_destr == NULL);
38 CX_TEST_ASSERT(pool->allocator != NULL); 38 CX_TEST_ASSERT(pool->allocator != NULL);
39 CX_TEST_ASSERT(pool->allocator->cl != NULL); 39 CX_TEST_ASSERT(pool->allocator->cl != NULL);
40 CX_TEST_ASSERT(pool->allocator->data == pool); 40 CX_TEST_ASSERT(pool->allocator->data == pool);
48 } 48 }
49 cxMempoolFree(pool); 49 cxMempoolFree(pool);
50 } 50 }
51 51
52 CX_TEST(test_mempool_malloc) { 52 CX_TEST(test_mempool_malloc) {
53 CxMempool *pool = cxBasicMempoolCreate(4); 53 CxMempool *pool = cxMempoolCreateSimple(4);
54 CX_TEST_DO { 54 CX_TEST_DO {
55 CX_TEST_ASSERT(cxMalloc(pool->allocator, sizeof(int)) != NULL); 55 CX_TEST_ASSERT(cxMalloc(pool->allocator, sizeof(int)) != NULL);
56 CX_TEST_ASSERT(cxMalloc(pool->allocator, sizeof(int)) != NULL); 56 CX_TEST_ASSERT(cxMalloc(pool->allocator, sizeof(int)) != NULL);
57 CX_TEST_ASSERT(pool->size == 2); 57 CX_TEST_ASSERT(pool->size == 2);
58 CX_TEST_ASSERT(pool->capacity == 4); 58 CX_TEST_ASSERT(pool->capacity == 4);
67 } 67 }
68 cxMempoolFree(pool); 68 cxMempoolFree(pool);
69 } 69 }
70 70
71 CX_TEST(test_mempool_calloc) { 71 CX_TEST(test_mempool_calloc) {
72 CxMempool *pool = cxBasicMempoolCreate(4); 72 CxMempool *pool = cxMempoolCreateSimple(4);
73 CX_TEST_DO { 73 CX_TEST_DO {
74 int *test = cxCalloc(pool->allocator, 2, sizeof(int)); 74 int *test = cxCalloc(pool->allocator, 2, sizeof(int));
75 CX_TEST_ASSERT(test != NULL); 75 CX_TEST_ASSERT(test != NULL);
76 CX_TEST_ASSERT(test[0] == 0); 76 CX_TEST_ASSERT(test[0] == 0);
77 CX_TEST_ASSERT(test[1] == 0); 77 CX_TEST_ASSERT(test[1] == 0);
110 cxMempoolFree(pool); 110 cxMempoolFree(pool);
111 } 111 }
112 112
113 113
114 CX_TEST(test_mempool_free) { 114 CX_TEST(test_mempool_free) {
115 CxMempool *pool = cxBasicMempoolCreate(4); 115 CxMempool *pool = cxMempoolCreateSimple(4);
116 void *mem1, *mem2; 116 void *mem1, *mem2;
117 CX_TEST_DO { 117 CX_TEST_DO {
118 mem1 = cxMalloc(pool->allocator, 16); 118 mem1 = cxMalloc(pool->allocator, 16);
119 cxFree(pool->allocator, mem1); 119 cxFree(pool->allocator, mem1);
120 CX_TEST_ASSERT(pool->size == 0); 120 CX_TEST_ASSERT(pool->size == 0);
133 } 133 }
134 cxMempoolFree(pool); 134 cxMempoolFree(pool);
135 } 135 }
136 136
137 CX_TEST(test_mempool_destroy) { 137 CX_TEST(test_mempool_destroy) {
138 CxMempool *pool = cxBasicMempoolCreate(4); 138 CxMempool *pool = cxMempoolCreateSimple(4);
139 CX_TEST_DO { 139 CX_TEST_DO {
140 int *data = cxMalloc(pool->allocator, sizeof(int)); 140 int *data = cxMalloc(pool->allocator, sizeof(int));
141 *data = 13; 141 *data = 13;
142 cxMempoolSetDestructor(data, test_mempool_destructor); 142 cxMempoolSetDestructor(data, test_mempool_destructor);
143 CX_TEST_ASSERT(*data == 13); 143 CX_TEST_ASSERT(*data == 13);
150 CX_TEST_ASSERT(test_mempool_destructor_called == 2); 150 CX_TEST_ASSERT(test_mempool_destructor_called == 2);
151 } 151 }
152 } 152 }
153 153
154 CX_TEST(test_mempool_register) { 154 CX_TEST(test_mempool_register) {
155 CxMempool *pool = cxBasicMempoolCreate(4); 155 CxMempool *pool = cxMempoolCreateSimple(4);
156 CX_TEST_DO { 156 CX_TEST_DO {
157 int *data = cxMalloc(pool->allocator, sizeof(int)); 157 int *data = cxMalloc(pool->allocator, sizeof(int));
158 test_mempool_destructor_called = 0; 158 test_mempool_destructor_called = 0;
159 cxMempoolSetDestructor(data, test_mempool_destructor); 159 cxMempoolSetDestructor(data, test_mempool_destructor);
160 int donotfree = 0; 160 int donotfree = 0;

mercurial