tests/test_mempool.c

changeset 993
b642eca4b956
parent 985
68754c7de906
equal deleted inserted replaced
992:14ca894190fd 993:b642eca4b956
44 CX_TEST_ASSERT(pool->allocator->cl->free != NULL); 44 CX_TEST_ASSERT(pool->allocator->cl->free != NULL);
45 CX_TEST_ASSERT(pool->capacity == 16); 45 CX_TEST_ASSERT(pool->capacity == 16);
46 CX_TEST_ASSERT(pool->size == 0); 46 CX_TEST_ASSERT(pool->size == 0);
47 CX_TEST_ASSERT(pool->data != NULL); 47 CX_TEST_ASSERT(pool->data != NULL);
48 } 48 }
49 cxMempoolDestroy(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 = cxBasicMempoolCreate(4);
54 CX_TEST_DO { 54 CX_TEST_DO {
63 CX_TEST_ASSERT(cxMalloc(pool->allocator, sizeof(int)) != NULL); 63 CX_TEST_ASSERT(cxMalloc(pool->allocator, sizeof(int)) != NULL);
64 CX_TEST_ASSERT(cxMalloc(pool->allocator, sizeof(int)) != NULL); 64 CX_TEST_ASSERT(cxMalloc(pool->allocator, sizeof(int)) != NULL);
65 CX_TEST_ASSERT(pool->size == 6); 65 CX_TEST_ASSERT(pool->size == 6);
66 CX_TEST_ASSERT(pool->capacity >= 6); 66 CX_TEST_ASSERT(pool->capacity >= 6);
67 } 67 }
68 cxMempoolDestroy(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 = cxBasicMempoolCreate(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);
78 } 78 }
79 cxMempoolDestroy(pool); 79 cxMempoolFree(pool);
80 } 80 }
81 81
82 static unsigned test_mempool_destructor_called; 82 static unsigned test_mempool_destructor_called;
83 83
84 static void test_mempool_destructor(cx_attr_unused void *mem) { 84 static void test_mempool_destructor(cx_attr_unused void *mem) {
105 // test if destructor is still intact 105 // test if destructor is still intact
106 test_mempool_destructor_called = 0; 106 test_mempool_destructor_called = 0;
107 cxFree(pool->allocator, rdata); 107 cxFree(pool->allocator, rdata);
108 CX_TEST_ASSERT(test_mempool_destructor_called == 1); 108 CX_TEST_ASSERT(test_mempool_destructor_called == 1);
109 } 109 }
110 cxMempoolDestroy(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 = cxBasicMempoolCreate(4);
129 cxFree(pool->allocator, mem1); 129 cxFree(pool->allocator, mem1);
130 CX_TEST_ASSERT(pool->size == 4); 130 CX_TEST_ASSERT(pool->size == 4);
131 cxFree(pool->allocator, mem2); 131 cxFree(pool->allocator, mem2);
132 CX_TEST_ASSERT(pool->size == 3); 132 CX_TEST_ASSERT(pool->size == 3);
133 } 133 }
134 cxMempoolDestroy(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 = cxBasicMempoolCreate(4);
139 CX_TEST_DO { 139 CX_TEST_DO {
144 test_mempool_destructor_called = 0; 144 test_mempool_destructor_called = 0;
145 cxFree(pool->allocator, data); 145 cxFree(pool->allocator, data);
146 CX_TEST_ASSERT(test_mempool_destructor_called == 1); 146 CX_TEST_ASSERT(test_mempool_destructor_called == 1);
147 data = cxMalloc(pool->allocator, sizeof(int)); 147 data = cxMalloc(pool->allocator, sizeof(int));
148 cxMempoolSetDestructor(data, test_mempool_destructor); 148 cxMempoolSetDestructor(data, test_mempool_destructor);
149 cxMempoolDestroy(pool); 149 cxMempoolFree(pool);
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) {
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;
161 cxMempoolRegister(pool, &donotfree, test_mempool_destructor); 161 cxMempoolRegister(pool, &donotfree, test_mempool_destructor);
162 cxMempoolDestroy(pool); 162 cxMempoolFree(pool);
163 CX_TEST_ASSERT(test_mempool_destructor_called == 2); 163 CX_TEST_ASSERT(test_mempool_destructor_called == 2);
164 } 164 }
165 } 165 }
166 166
167 167

mercurial