comparison tests/test-action.c @ 442:9c3b3935f0aa

core: rework allocations
author David Demelier <markand@malikania.fr>
date Thu, 03 Nov 2022 21:09:25 +0100
parents 31c1bbc33813
children 773a082f0b91
comparison
equal deleted inserted replaced
441:31c1bbc33813 442:9c3b3935f0aa
178 178
179 static void 179 static void
180 test_stack_add(void) 180 test_stack_add(void)
181 { 181 {
182 struct mlk_action *actions[10]; 182 struct mlk_action *actions[10];
183 struct action_stack st = {0}; 183 struct mlk_action_stack st = {0};
184 struct mlk_action act = {0}; 184 struct mlk_action act = {0};
185 185
186 action_stack_init(&st, actions, 10); 186 mlk_action_stack_init(&st, actions, 10);
187 187
188 DT_EQ_INT(action_stack_add(&st, &act), 0); 188 DT_EQ_INT(mlk_action_stack_add(&st, &act), 0);
189 189
190 /* Now fill up. */ 190 /* Now fill up. */
191 for (int i = 0; i < 9; ++i) 191 for (int i = 0; i < 9; ++i)
192 DT_EQ_INT(action_stack_add(&st, &act), 0); 192 DT_EQ_INT(mlk_action_stack_add(&st, &act), 0);
193 193
194 /* This one should not fit in. */ 194 /* This one should not fit in. */
195 DT_EQ_INT(action_stack_add(&st, &act), MLK_ERR_NO_MEM); 195 DT_EQ_INT(mlk_action_stack_add(&st, &act), MLK_ERR_NO_MEM);
196 } 196 }
197 197
198 static void 198 static void
199 test_stack_handle(void) 199 test_stack_handle(void)
200 { 200 {
206 { 0, { .data = &table[1].called, .handle = my_handle } }, 206 { 0, { .data = &table[1].called, .handle = my_handle } },
207 { 0, { .data = &table[2].called, .handle = my_handle } }, 207 { 0, { .data = &table[2].called, .handle = my_handle } },
208 }; 208 };
209 209
210 struct mlk_action *actions[10]; 210 struct mlk_action *actions[10];
211 struct action_stack st = {0}; 211 struct mlk_action_stack st = {0};
212 212
213 action_stack_init(&st, actions, 10); 213 mlk_action_stack_init(&st, actions, 10);
214 action_stack_add(&st, &table[0].act); 214 mlk_action_stack_add(&st, &table[0].act);
215 action_stack_add(&st, &table[1].act); 215 mlk_action_stack_add(&st, &table[1].act);
216 action_stack_add(&st, &table[2].act); 216 mlk_action_stack_add(&st, &table[2].act);
217 action_stack_handle(&st, &dummy); 217 mlk_action_stack_handle(&st, &dummy);
218 218
219 DT_ASSERT(table[0].called); 219 DT_ASSERT(table[0].called);
220 DT_ASSERT(table[1].called); 220 DT_ASSERT(table[1].called);
221 DT_ASSERT(table[2].called); 221 DT_ASSERT(table[2].called);
222 } 222 }
236 { .act = INIT(&table[5], my_update_true) }, 236 { .act = INIT(&table[5], my_update_true) },
237 { .act = INIT(&table[6], my_update_false) }, 237 { .act = INIT(&table[6], my_update_false) },
238 }; 238 };
239 239
240 struct mlk_action *actions[10]; 240 struct mlk_action *actions[10];
241 struct action_stack st = {0}; 241 struct mlk_action_stack st = {0};
242 242
243 action_stack_init(&st, actions, 10); 243 mlk_action_stack_init(&st, actions, 10);
244 action_stack_add(&st, &table[0].act); 244 mlk_action_stack_add(&st, &table[0].act);
245 action_stack_add(&st, &table[1].act); 245 mlk_action_stack_add(&st, &table[1].act);
246 action_stack_add(&st, &table[2].act); 246 mlk_action_stack_add(&st, &table[2].act);
247 action_stack_add(&st, &table[3].act); 247 mlk_action_stack_add(&st, &table[3].act);
248 action_stack_add(&st, &table[4].act); 248 mlk_action_stack_add(&st, &table[4].act);
249 action_stack_add(&st, &table[5].act); 249 mlk_action_stack_add(&st, &table[5].act);
250 action_stack_add(&st, &table[6].act); 250 mlk_action_stack_add(&st, &table[6].act);
251 251
252 DT_ASSERT(!action_stack_update(&st, 0)); 252 DT_ASSERT(!mlk_action_stack_update(&st, 0));
253 253
254 DT_ASSERT(!table[0].inv.handle); 254 DT_ASSERT(!table[0].inv.handle);
255 DT_ASSERT(!table[1].inv.handle); 255 DT_ASSERT(!table[1].inv.handle);
256 DT_ASSERT(!table[2].inv.handle); 256 DT_ASSERT(!table[2].inv.handle);
257 DT_ASSERT(!table[3].inv.handle); 257 DT_ASSERT(!table[3].inv.handle);
308 table[0].act.update = 308 table[0].act.update =
309 table[2].act.update = 309 table[2].act.update =
310 table[3].act.update = 310 table[3].act.update =
311 table[6].act.update = my_update_true; 311 table[6].act.update = my_update_true;
312 312
313 DT_ASSERT(action_stack_update(&st, 0)); 313 DT_ASSERT(mlk_action_stack_update(&st, 0));
314 DT_EQ_PTR(st.actions[0], NULL); 314 DT_EQ_PTR(st.actions[0], NULL);
315 DT_EQ_PTR(st.actions[1], NULL); 315 DT_EQ_PTR(st.actions[1], NULL);
316 DT_EQ_PTR(st.actions[2], NULL); 316 DT_EQ_PTR(st.actions[2], NULL);
317 DT_EQ_PTR(st.actions[3], NULL); 317 DT_EQ_PTR(st.actions[3], NULL);
318 DT_EQ_PTR(st.actions[4], NULL); 318 DT_EQ_PTR(st.actions[4], NULL);
335 { .act = INIT(&table[5], my_update_true) }, 335 { .act = INIT(&table[5], my_update_true) },
336 { .act = INIT(&table[6], my_update_false) }, 336 { .act = INIT(&table[6], my_update_false) },
337 }; 337 };
338 338
339 struct mlk_action *actions[10]; 339 struct mlk_action *actions[10];
340 struct action_stack st = {0}; 340 struct mlk_action_stack st = {0};
341 341
342 action_stack_init(&st, actions, 10); 342 mlk_action_stack_init(&st, actions, 10);
343 action_stack_add(&st, &table[0].act); 343 mlk_action_stack_add(&st, &table[0].act);
344 action_stack_add(&st, &table[1].act); 344 mlk_action_stack_add(&st, &table[1].act);
345 action_stack_add(&st, &table[2].act); 345 mlk_action_stack_add(&st, &table[2].act);
346 action_stack_add(&st, &table[3].act); 346 mlk_action_stack_add(&st, &table[3].act);
347 action_stack_add(&st, &table[4].act); 347 mlk_action_stack_add(&st, &table[4].act);
348 action_stack_add(&st, &table[5].act); 348 mlk_action_stack_add(&st, &table[5].act);
349 action_stack_add(&st, &table[6].act); 349 mlk_action_stack_add(&st, &table[6].act);
350 action_stack_draw(&st); 350 mlk_action_stack_draw(&st);
351 351
352 DT_ASSERT(!table[0].inv.handle); 352 DT_ASSERT(!table[0].inv.handle);
353 DT_ASSERT(!table[1].inv.handle); 353 DT_ASSERT(!table[1].inv.handle);
354 DT_ASSERT(!table[2].inv.handle); 354 DT_ASSERT(!table[2].inv.handle);
355 DT_ASSERT(!table[3].inv.handle); 355 DT_ASSERT(!table[3].inv.handle);
400 { .act = INIT(&table[0], my_update_true) }, 400 { .act = INIT(&table[0], my_update_true) },
401 { .act = INIT(&table[0], my_update_false) }, 401 { .act = INIT(&table[0], my_update_false) },
402 }; 402 };
403 403
404 struct mlk_action *actions[10]; 404 struct mlk_action *actions[10];
405 struct action_stack st = {0}; 405 struct mlk_action_stack st = {0};
406 406
407 action_stack_init(&st, actions, 10); 407 mlk_action_stack_init(&st, actions, 10);
408 action_stack_add(&st, &table[0].act); 408 mlk_action_stack_add(&st, &table[0].act);
409 action_stack_add(&st, &table[1].act); 409 mlk_action_stack_add(&st, &table[1].act);
410 action_stack_finish(&st); 410 mlk_action_stack_finish(&st);
411 411
412 DT_ASSERT(!table[0].inv.handle); 412 DT_ASSERT(!table[0].inv.handle);
413 DT_ASSERT(!table[0].inv.update); 413 DT_ASSERT(!table[0].inv.update);
414 DT_ASSERT(!table[0].inv.draw); 414 DT_ASSERT(!table[0].inv.draw);
415 DT_ASSERT(table[0].inv.end); 415 DT_ASSERT(table[0].inv.end);