aboutsummaryrefslogtreecommitdiff
path: root/mem/test/mem_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'mem/test/mem_test.c')
-rw-r--r--mem/test/mem_test.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/mem/test/mem_test.c b/mem/test/mem_test.c
index 14718a5..a8d482f 100644
--- a/mem/test/mem_test.c
+++ b/mem/test/mem_test.c
@@ -39,7 +39,7 @@ TEST_CASE(mem_fully_allocate) {
39 39
40 for (int i = 0; i < NUM_BLOCKS; ++i) { 40 for (int i = 0; i < NUM_BLOCKS; ++i) {
41 const int* block = mem_alloc(&mem, 1); 41 const int* block = mem_alloc(&mem, 1);
42 TEST_TRUE(block != 0); 42 TEST_TRUE(block != nullptr);
43 } 43 }
44 44
45 TEST_TRUE(mem_size(&mem) == NUM_BLOCKS); 45 TEST_TRUE(mem_size(&mem) == NUM_BLOCKS);
@@ -50,15 +50,15 @@ TEST_CASE(mem_fill_then_free) {
50 test_mem mem; 50 test_mem mem;
51 mem_make(&mem); 51 mem_make(&mem);
52 52
53 int* blocks[NUM_BLOCKS] = {0}; 53 int* blocks[NUM_BLOCKS] = {nullptr};
54 for (int i = 0; i < NUM_BLOCKS; i++) { 54 for (int i = 0; i < NUM_BLOCKS; i++) {
55 blocks[i] = mem_alloc(&mem, 1); 55 blocks[i] = mem_alloc(&mem, 1);
56 TEST_TRUE(blocks[i] != 0); 56 TEST_TRUE(blocks[i] != nullptr);
57 } 57 }
58 58
59 for (int i = 0; i < NUM_BLOCKS; i++) { 59 for (int i = 0; i < NUM_BLOCKS; i++) {
60 mem_free(&mem, &blocks[i]); 60 mem_free(&mem, &blocks[i]);
61 TEST_EQUAL(blocks[i], 0); // Pointer should be set to 0 on free. 61 TEST_EQUAL(blocks[i], nullptr); // Pointer should be set to 0 on free.
62 } 62 }
63 63
64 TEST_EQUAL(count(&mem), 0); 64 TEST_EQUAL(count(&mem), 0);
@@ -74,12 +74,12 @@ TEST_CASE(mem_allocate_beyond_max_size) {
74 74
75 // Fully allocate the mem. 75 // Fully allocate the mem.
76 for (int i = 0; i < NUM_BLOCKS; ++i) { 76 for (int i = 0; i < NUM_BLOCKS; ++i) {
77 TEST_TRUE(mem_alloc(&mem, 1) != 0); 77 TEST_TRUE(mem_alloc(&mem, 1) != nullptr);
78 } 78 }
79 79
80 // Past the end. 80 // Past the end.
81 for (int i = 0; i < NUM_BLOCKS; ++i) { 81 for (int i = 0; i < NUM_BLOCKS; ++i) {
82 TEST_EQUAL(mem_alloc(&mem, 1), 0); 82 TEST_EQUAL(mem_alloc(&mem, 1), nullptr);
83 } 83 }
84 84
85 TEST_TRUE(mem_size(&mem) == NUM_BLOCKS); 85 TEST_TRUE(mem_size(&mem) == NUM_BLOCKS);
@@ -105,7 +105,7 @@ TEST_CASE(mem_zero_free_block_after_free) {
105 mem_make(&mem); 105 mem_make(&mem);
106 106
107 int* val = mem_alloc(&mem, 1); 107 int* val = mem_alloc(&mem, 1);
108 TEST_TRUE(val != 0); 108 TEST_TRUE(val != nullptr);
109 *val = 177; 109 *val = 177;
110 110
111 int* old_val = val; 111 int* old_val = val;
@@ -131,7 +131,7 @@ TEST_CASE(mem_traverse_partially_full) {
131 131
132 for (int i = 0; i < N; ++i) { 132 for (int i = 0; i < N; ++i) {
133 int* val = mem_alloc(&mem, 1); 133 int* val = mem_alloc(&mem, 1);
134 TEST_TRUE(val != 0); 134 TEST_TRUE(val != nullptr);
135 *val = i + 1; 135 *val = i + 1;
136 } 136 }
137 137
@@ -146,7 +146,7 @@ TEST_CASE(mem_traverse_full) {
146 146
147 for (int i = 0; i < NUM_BLOCKS; ++i) { 147 for (int i = 0; i < NUM_BLOCKS; ++i) {
148 int* val = mem_alloc(&mem, 1); 148 int* val = mem_alloc(&mem, 1);
149 TEST_TRUE(val != 0); 149 TEST_TRUE(val != nullptr);
150 *val = i + 1; 150 *val = i + 1;
151 } 151 }
152 152
@@ -161,7 +161,7 @@ TEST_CASE(mem_get_block) {
161 161
162 for (int i = 0; i < NUM_BLOCKS; ++i) { 162 for (int i = 0; i < NUM_BLOCKS; ++i) {
163 int* block = mem_alloc(&mem, 1); 163 int* block = mem_alloc(&mem, 1);
164 TEST_TRUE(block != 0); 164 TEST_TRUE(block != nullptr);
165 *block = i; 165 *block = i;
166 TEST_EQUAL(mem_get_chunk_handle(&mem, block), (size_t)i); 166 TEST_EQUAL(mem_get_chunk_handle(&mem, block), (size_t)i);
167 } 167 }
@@ -179,7 +179,7 @@ TEST_CASE(mem_fragmentation) {
179 test_mem mem; 179 test_mem mem;
180 mem_make(&mem); 180 mem_make(&mem);
181 181
182 int* blocks[NUM_BLOCKS] = {0}; 182 int* blocks[NUM_BLOCKS] = {nullptr};
183 int next_block = 0; 183 int next_block = 0;
184 184
185#define ALLOC(num_blocks) \ 185#define ALLOC(num_blocks) \
@@ -205,7 +205,7 @@ TEST_CASE(mem_fragmentation) {
205 205
206 // Should be able to allocate 1 chunk of N blocks. 206 // Should be able to allocate 1 chunk of N blocks.
207 const void* chunk = mem_alloc(&mem, NUM_BLOCKS); 207 const void* chunk = mem_alloc(&mem, NUM_BLOCKS);
208 TEST_TRUE(chunk != 0); 208 TEST_TRUE(chunk != nullptr);
209} 209}
210 210
211// Clear and re-use an allocator. 211// Clear and re-use an allocator.
@@ -216,15 +216,17 @@ TEST_CASE(mem_clear_then_reuse) {
216 // Allocate chunks, contents not important. 216 // Allocate chunks, contents not important.
217 for (int i = 0; i < NUM_BLOCKS; ++i) { 217 for (int i = 0; i < NUM_BLOCKS; ++i) {
218 int* chunk = mem_alloc(&mem, 1); 218 int* chunk = mem_alloc(&mem, 1);
219 TEST_TRUE(chunk != 0); 219 TEST_TRUE(chunk != nullptr);
220 } 220 }
221 221
222 mem_clear(&mem); 222 mem_clear(&mem);
223 TEST_EQUAL(mem_size(&mem), 0);
224 TEST_EQUAL(mem_capacity(&mem), NUM_BLOCKS);
223 225
224 // Allocate chunks and assign values 0..N. 226 // Allocate chunks and assign values 0..N.
225 for (int i = 0; i < NUM_BLOCKS; ++i) { 227 for (int i = 0; i < NUM_BLOCKS; ++i) {
226 int* chunk = mem_alloc(&mem, 1); 228 int* chunk = mem_alloc(&mem, 1);
227 TEST_TRUE(chunk != 0); 229 TEST_TRUE(chunk != nullptr);
228 *chunk = i + 1; 230 *chunk = i + 1;
229 } 231 }
230 232