Mercurial > molko
annotate tests/test-alloc.c @ 593:f9e85d0aca74
rpg: introduce private loader_file to help allocating map/tileset
The structure is just an allocator and owner for various data shared among the
map and the tileset such as sprites, textures, animations...
While here, simplify use of mlk_(map|tileset)_loader_file so they don't have a
public structure anymore but insert themselves into the loader->data.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 21 Mar 2023 14:08:15 +0100 |
parents | 6c911cbc1fd7 |
children |
rev | line source |
---|---|
228
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 /* |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 * test-alloc.c -- test allocators |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 * |
445
773a082f0b91
misc: update copyright years
David Demelier <markand@malikania.fr>
parents:
442
diff
changeset
|
4 * Copyright (c) 2020-2023 David Demelier <markand@malikania.fr> |
228
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 * |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 * |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 */ |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
410
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
19 #include <stdlib.h> |
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
20 |
431
8f59201dc76b
core: cleanup hierarchy
David Demelier <markand@malikania.fr>
parents:
421
diff
changeset
|
21 #include <mlk/core/alloc.h> |
228
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 |
410
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
23 #include <dt.h> |
228
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 struct point { |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 int x; |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 int y; |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 }; |
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 |
404
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
30 static struct { |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
31 size_t alloc_count; |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
32 size_t free_count; |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
33 } my_stats; |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
34 |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
35 static void * |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
36 my_alloc(size_t n) |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
37 { |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
38 my_stats.alloc_count += 1; |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
39 |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
40 return malloc(n); |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
41 } |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
42 |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
43 static void * |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
44 my_realloc(void *ptr, size_t n) |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
45 { |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
46 (void)ptr; |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
47 (void)n; |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
48 |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
49 return NULL; |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
50 } |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
51 |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
52 static void |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
53 my_free(void *ptr) |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
54 { |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
55 free(ptr); |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
56 my_stats.free_count += 1; |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
57 } |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
58 |
438
25a56ca53ac2
core: update mlk-alloc module
David Demelier <markand@malikania.fr>
parents:
431
diff
changeset
|
59 static const struct mlk_alloc_funcs my_funcs = { |
404
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
60 .alloc = my_alloc, |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
61 .realloc = my_realloc, |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
62 .free = my_free |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
63 }; |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
64 |
410
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
65 static void |
545
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
66 test_basics_resize0(void) |
269
9b758eb84556
core: add alloc_rearray0 function
David Demelier <markand@malikania.fr>
parents:
228
diff
changeset
|
67 { |
9b758eb84556
core: add alloc_rearray0 function
David Demelier <markand@malikania.fr>
parents:
228
diff
changeset
|
68 struct point *points; |
9b758eb84556
core: add alloc_rearray0 function
David Demelier <markand@malikania.fr>
parents:
228
diff
changeset
|
69 |
442
9c3b3935f0aa
core: rework allocations
David Demelier <markand@malikania.fr>
parents:
438
diff
changeset
|
70 points = mlk_alloc_new0(2, sizeof (*points)); |
545
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
71 DT_EQ_SIZE(mlk_alloc_getn(points), 2); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
72 DT_EQ_SIZE(mlk_alloc_getw(points), sizeof (*points)); |
410
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
73 DT_EQ_INT(points[0].x, 0); |
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
74 DT_EQ_INT(points[0].y, 0); |
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
75 DT_EQ_INT(points[1].x, 0); |
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
76 DT_EQ_INT(points[1].y, 0); |
269
9b758eb84556
core: add alloc_rearray0 function
David Demelier <markand@malikania.fr>
parents:
228
diff
changeset
|
77 |
9b758eb84556
core: add alloc_rearray0 function
David Demelier <markand@malikania.fr>
parents:
228
diff
changeset
|
78 points[0].x = 10; |
9b758eb84556
core: add alloc_rearray0 function
David Demelier <markand@malikania.fr>
parents:
228
diff
changeset
|
79 points[0].y = 20; |
9b758eb84556
core: add alloc_rearray0 function
David Demelier <markand@malikania.fr>
parents:
228
diff
changeset
|
80 points[1].x = 30; |
9b758eb84556
core: add alloc_rearray0 function
David Demelier <markand@malikania.fr>
parents:
228
diff
changeset
|
81 points[1].y = 40; |
9b758eb84556
core: add alloc_rearray0 function
David Demelier <markand@malikania.fr>
parents:
228
diff
changeset
|
82 |
544
0ff9f4a5c364
core: rename mlk_alloc_renew to mlk_alloc_resize
David Demelier <markand@malikania.fr>
parents:
445
diff
changeset
|
83 points = mlk_alloc_resize0(points, 4); |
545
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
84 DT_EQ_SIZE(mlk_alloc_getn(points), 4); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
85 DT_EQ_SIZE(mlk_alloc_getw(points), sizeof (*points)); |
442
9c3b3935f0aa
core: rework allocations
David Demelier <markand@malikania.fr>
parents:
438
diff
changeset
|
86 |
9c3b3935f0aa
core: rework allocations
David Demelier <markand@malikania.fr>
parents:
438
diff
changeset
|
87 /* Make sure previous are still correct. */ |
410
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
88 DT_EQ_INT(points[0].x, 10); |
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
89 DT_EQ_INT(points[0].y, 20); |
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
90 DT_EQ_INT(points[1].x, 30); |
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
91 DT_EQ_INT(points[1].y, 40); |
442
9c3b3935f0aa
core: rework allocations
David Demelier <markand@malikania.fr>
parents:
438
diff
changeset
|
92 |
9c3b3935f0aa
core: rework allocations
David Demelier <markand@malikania.fr>
parents:
438
diff
changeset
|
93 /* Now the new items must be zero'ed. */ |
410
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
94 DT_EQ_INT(points[2].x, 0); |
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
95 DT_EQ_INT(points[2].y, 0); |
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
96 DT_EQ_INT(points[3].x, 0); |
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
97 DT_EQ_INT(points[3].y, 0); |
269
9b758eb84556
core: add alloc_rearray0 function
David Demelier <markand@malikania.fr>
parents:
228
diff
changeset
|
98 } |
9b758eb84556
core: add alloc_rearray0 function
David Demelier <markand@malikania.fr>
parents:
228
diff
changeset
|
99 |
410
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
100 static void |
545
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
101 test_basics_expand0(void) |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
102 { |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
103 struct point *points; |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
104 |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
105 points = mlk_alloc_new0(2, sizeof (*points)); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
106 DT_EQ_SIZE(mlk_alloc_getn(points), 2); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
107 DT_EQ_SIZE(mlk_alloc_getw(points), sizeof (*points)); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
108 DT_EQ_INT(points[0].x, 0); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
109 DT_EQ_INT(points[0].y, 0); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
110 DT_EQ_INT(points[1].x, 0); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
111 DT_EQ_INT(points[1].y, 0); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
112 |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
113 points[0].x = 10; |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
114 points[0].y = 20; |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
115 points[1].x = 30; |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
116 points[1].y = 40; |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
117 |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
118 points = mlk_alloc_expand0(points, 4); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
119 DT_EQ_SIZE(mlk_alloc_getn(points), 6); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
120 DT_EQ_SIZE(mlk_alloc_getw(points), sizeof (*points)); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
121 |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
122 /* Make sure previous are still correct. */ |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
123 DT_EQ_INT(points[0].x, 10); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
124 DT_EQ_INT(points[0].y, 20); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
125 DT_EQ_INT(points[1].x, 30); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
126 DT_EQ_INT(points[1].y, 40); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
127 |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
128 /* Now the new items must be zero'ed. */ |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
129 DT_EQ_INT(points[2].x, 0); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
130 DT_EQ_INT(points[2].y, 0); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
131 DT_EQ_INT(points[3].x, 0); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
132 DT_EQ_INT(points[3].y, 0); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
133 DT_EQ_INT(points[4].x, 0); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
134 DT_EQ_INT(points[4].y, 0); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
135 DT_EQ_INT(points[5].x, 0); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
136 DT_EQ_INT(points[5].y, 0); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
137 } |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
138 |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
139 static void |
410
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
140 test_basics_sdupf(void) |
402
d3fa956cdaf0
core: add alloc_sdupf
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
141 { |
438
25a56ca53ac2
core: update mlk-alloc module
David Demelier <markand@malikania.fr>
parents:
431
diff
changeset
|
142 char *str = mlk_alloc_sdupf("Hello %s", "David"); |
402
d3fa956cdaf0
core: add alloc_sdupf
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
143 |
410
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
144 DT_EQ_STR(str, "Hello David"); |
442
9c3b3935f0aa
core: rework allocations
David Demelier <markand@malikania.fr>
parents:
438
diff
changeset
|
145 mlk_alloc_free(str); |
402
d3fa956cdaf0
core: add alloc_sdupf
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
146 } |
d3fa956cdaf0
core: add alloc_sdupf
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
147 |
410
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
148 static void |
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
149 test_custom_count(void) |
404
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
150 { |
438
25a56ca53ac2
core: update mlk-alloc module
David Demelier <markand@malikania.fr>
parents:
431
diff
changeset
|
151 mlk_alloc_set(&my_funcs); |
442
9c3b3935f0aa
core: rework allocations
David Demelier <markand@malikania.fr>
parents:
438
diff
changeset
|
152 mlk_alloc_free(mlk_alloc_new(10, 1)); |
9c3b3935f0aa
core: rework allocations
David Demelier <markand@malikania.fr>
parents:
438
diff
changeset
|
153 mlk_alloc_free(mlk_alloc_new0(20, 1)); |
438
25a56ca53ac2
core: update mlk-alloc module
David Demelier <markand@malikania.fr>
parents:
431
diff
changeset
|
154 mlk_alloc_free(mlk_alloc_sdup("malikania")); |
404
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
155 |
410
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
156 DT_EQ_UINT(my_stats.alloc_count, 3U); |
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
157 DT_EQ_UINT(my_stats.free_count, 3U); |
404
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
158 } |
7321511052f6
core: rework alloc module
David Demelier <markand@malikania.fr>
parents:
402
diff
changeset
|
159 |
228
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
160 int |
421
3edda1ce314c
core: remove mlk_ prefix for now
David Demelier <markand@malikania.fr>
parents:
410
diff
changeset
|
161 main(void) |
228
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
162 { |
545
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
163 DT_RUN(test_basics_resize0); |
27303e9402de
core: introduce mlk_alloc_expand
David Demelier <markand@malikania.fr>
parents:
544
diff
changeset
|
164 DT_RUN(test_basics_expand0); |
410
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
165 DT_RUN(test_basics_sdupf); |
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
166 DT_RUN(test_custom_count); |
1bf7d6669f0a
tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
408
diff
changeset
|
167 DT_SUMMARY(); |
228
2734223d3daf
core: add a alloc_pool module
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
168 } |