Fri, 23 May 2025 12:44:24 +0200
make test-compile depend on both static and shared
the shared lib is not needed for the tests,
but when run with coverage, gcov will be confused
when outdated line information is available from
a previous shared build
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1 | /* |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
3 | * |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
4 | * Copyright 2023 Mike Becker, Olaf Wintermann All rights reserved. |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
5 | * |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
6 | * Redistribution and use in source and binary forms, with or without |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
7 | * modification, are permitted provided that the following conditions are met: |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
8 | * |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
9 | * 1. Redistributions of source code must retain the above copyright |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
10 | * notice, this list of conditions and the following disclaimer. |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
11 | * |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
12 | * 2. Redistributions in binary form must reproduce the above copyright |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
13 | * notice, this list of conditions and the following disclaimer in the |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
14 | * documentation and/or other materials provided with the distribution. |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
15 | * |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
26 | * POSSIBILITY OF SUCH DAMAGE. |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
27 | */ |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
28 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
29 | #include "cx/test.h" |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
30 | #include "util_allocator.h" |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
31 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
32 | #include "cx/mempool.h" |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
33 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
34 | CX_TEST(test_mempool_create) { |
1178
9998cfb4a65b
change name of cxBasicMempoolCreate() to cxMempoolCreateSimple() - fixes #590
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
35 | CxMempool *pool = cxMempoolCreateSimple(16); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
36 | CX_TEST_DO { |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
37 | CX_TEST_ASSERT(pool->destr == NULL); |
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
38 | CX_TEST_ASSERT(pool->destr2 == NULL); |
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
39 | CX_TEST_ASSERT(pool->destr2_data == NULL); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
40 | CX_TEST_ASSERT(pool->allocator != NULL); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
41 | CX_TEST_ASSERT(pool->allocator->cl != NULL); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
42 | CX_TEST_ASSERT(pool->allocator->data == pool); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
43 | CX_TEST_ASSERT(pool->allocator->cl->malloc != NULL); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
44 | CX_TEST_ASSERT(pool->allocator->cl->calloc != NULL); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
45 | CX_TEST_ASSERT(pool->allocator->cl->realloc != NULL); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
46 | CX_TEST_ASSERT(pool->allocator->cl->free != NULL); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
47 | CX_TEST_ASSERT(pool->capacity == 16); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
48 | CX_TEST_ASSERT(pool->size == 0); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
49 | CX_TEST_ASSERT(pool->data != NULL); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
50 | } |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
51 | cxMempoolFree(pool); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
52 | } |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
53 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
54 | CX_TEST(test_mempool_malloc) { |
1178
9998cfb4a65b
change name of cxBasicMempoolCreate() to cxMempoolCreateSimple() - fixes #590
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
55 | CxMempool *pool = cxMempoolCreateSimple(4); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
56 | CX_TEST_DO { |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
57 | CX_TEST_ASSERT(cxMalloc(pool->allocator, sizeof(int)) != NULL); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
58 | CX_TEST_ASSERT(cxMalloc(pool->allocator, sizeof(int)) != NULL); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
59 | CX_TEST_ASSERT(pool->size == 2); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
60 | CX_TEST_ASSERT(pool->capacity == 4); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
61 | CX_TEST_ASSERT(cxMalloc(pool->allocator, sizeof(int)) != NULL); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
62 | CX_TEST_ASSERT(cxMalloc(pool->allocator, sizeof(int)) != NULL); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
63 | CX_TEST_ASSERT(pool->size == 4); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
64 | CX_TEST_ASSERT(pool->capacity == 4); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
65 | CX_TEST_ASSERT(cxMalloc(pool->allocator, sizeof(int)) != NULL); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
66 | CX_TEST_ASSERT(cxMalloc(pool->allocator, sizeof(int)) != NULL); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
67 | CX_TEST_ASSERT(pool->size == 6); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
68 | CX_TEST_ASSERT(pool->capacity >= 6); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
69 | } |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
70 | cxMempoolFree(pool); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
71 | } |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
72 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
73 | CX_TEST(test_mempool_calloc) { |
1178
9998cfb4a65b
change name of cxBasicMempoolCreate() to cxMempoolCreateSimple() - fixes #590
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
74 | CxMempool *pool = cxMempoolCreateSimple(4); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
75 | CX_TEST_DO { |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
76 | int *test = cxCalloc(pool->allocator, 2, sizeof(int)); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
77 | CX_TEST_ASSERT(test != NULL); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
78 | CX_TEST_ASSERT(test[0] == 0); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
79 | CX_TEST_ASSERT(test[1] == 0); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
80 | } |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
81 | cxMempoolFree(pool); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
82 | } |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
83 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
84 | static unsigned test_mempool_destructor_called; |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
85 | |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
785
diff
changeset
|
86 | static void test_mempool_destructor(cx_attr_unused void *mem) { |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
87 | test_mempool_destructor_called++; |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
88 | } |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
89 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
90 | CX_TEST(test_mempool_realloc) { |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
91 | CxMempool *pool = cxMempoolCreateSimple(4); |
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
92 | cxMempoolGlobalDestructor(pool, test_mempool_destructor); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
93 | CX_TEST_DO { |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
94 | CX_TEST_ASSERT(pool->destr == test_mempool_destructor); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
95 | int *data = cxMalloc(pool->allocator, sizeof(int)); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
96 | *data = 13; |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
97 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
98 | int *rdata = data; |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
99 | unsigned n = 1; |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
100 | while (rdata == data) { |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
101 | n <<= 1; |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
102 | // eventually the memory should be moved elsewhere |
785
bb18daa62d5f
migrate map tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
781
diff
changeset
|
103 | CX_TEST_ASSERTM(n < 65536, "Reallocation attempt failed - test not executable"); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
104 | rdata = cxRealloc(pool->allocator, data, n * sizeof(intptr_t)); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
105 | } |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
106 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
107 | CX_TEST_ASSERT(*rdata == 13); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
108 | // test if destructor is still intact |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
109 | test_mempool_destructor_called = 0; |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
110 | cxFree(pool->allocator, rdata); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
111 | CX_TEST_ASSERT(test_mempool_destructor_called == 1); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
112 | } |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
113 | cxMempoolFree(pool); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
114 | } |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
115 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
116 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
117 | CX_TEST(test_mempool_free) { |
1178
9998cfb4a65b
change name of cxBasicMempoolCreate() to cxMempoolCreateSimple() - fixes #590
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
118 | CxMempool *pool = cxMempoolCreateSimple(4); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
119 | void *mem1, *mem2; |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
120 | CX_TEST_DO { |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
121 | mem1 = cxMalloc(pool->allocator, 16); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
122 | cxFree(pool->allocator, mem1); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
123 | CX_TEST_ASSERT(pool->size == 0); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
124 | |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
785
diff
changeset
|
125 | mem1 = cxMalloc(pool->allocator, 16); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
126 | mem1 = cxMalloc(pool->allocator, 16); |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
785
diff
changeset
|
127 | mem1 = cxMalloc(pool->allocator, 16); |
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
785
diff
changeset
|
128 | mem2 = cxMalloc(pool->allocator, 16); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
129 | mem2 = cxMalloc(pool->allocator, 16); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
130 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
131 | CX_TEST_ASSERT(pool->size == 5); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
132 | cxFree(pool->allocator, mem1); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
133 | CX_TEST_ASSERT(pool->size == 4); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
134 | cxFree(pool->allocator, mem2); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
135 | CX_TEST_ASSERT(pool->size == 3); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
136 | } |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
137 | cxMempoolFree(pool); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
138 | } |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
139 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
140 | CX_TEST(test_mempool_destroy) { |
1178
9998cfb4a65b
change name of cxBasicMempoolCreate() to cxMempoolCreateSimple() - fixes #590
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
141 | CxMempool *pool = cxMempoolCreateSimple(4); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
142 | CX_TEST_DO { |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
143 | int *data = cxMalloc(pool->allocator, sizeof(int)); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
144 | *data = 13; |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
145 | cxMempoolSetDestructor(data, test_mempool_destructor); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
146 | CX_TEST_ASSERT(*data == 13); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
147 | test_mempool_destructor_called = 0; |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
148 | cxFree(pool->allocator, data); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
149 | CX_TEST_ASSERT(test_mempool_destructor_called == 1); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
150 | data = cxMalloc(pool->allocator, sizeof(int)); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
151 | cxMempoolSetDestructor(data, test_mempool_destructor); |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
152 | cxMempoolFree(pool); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
153 | CX_TEST_ASSERT(test_mempool_destructor_called == 2); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
154 | } |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
155 | } |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
156 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
157 | CX_TEST(test_mempool_register) { |
1178
9998cfb4a65b
change name of cxBasicMempoolCreate() to cxMempoolCreateSimple() - fixes #590
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
158 | CxMempool *pool = cxMempoolCreateSimple(4); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
159 | CX_TEST_DO { |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
160 | int *data = cxMalloc(pool->allocator, sizeof(int)); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
161 | test_mempool_destructor_called = 0; |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
162 | cxMempoolSetDestructor(data, test_mempool_destructor); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
163 | int donotfree = 0; |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
164 | cxMempoolRegister(pool, &donotfree, test_mempool_destructor); |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
165 | cxMempoolFree(pool); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
166 | CX_TEST_ASSERT(test_mempool_destructor_called == 2); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
167 | } |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
168 | } |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
169 | |
1281
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
170 | CX_TEST(test_mempool_transfer) { |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
171 | CxMempool *src = cxMempoolCreateSimple(4); |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
172 | CxMempool *dest = cxMempoolCreateSimple(4); |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
173 | CX_TEST_DO { |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
174 | // allocate the first object |
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
175 | int *c = cxMalloc(src->allocator, sizeof(int)); |
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
176 | // allocate the second object |
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
177 | c = cxMalloc(src->allocator, sizeof(int)); |
1281
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
178 | // check that the destructor functions are also transferred |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
179 | cxMempoolSetDestructor(c, test_mempool_destructor); |
1281
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
180 | // register foreign object |
1283
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
181 | c = malloc(sizeof(int)); |
1281
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
182 | cxMempoolRegister(src, c, test_mempool_destructor); |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
183 | |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
184 | // check source pool |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
185 | CX_TEST_ASSERT(src->size == 2); |
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
186 | CX_TEST_ASSERT(src->registered_size == 1); |
1281
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
187 | const CxAllocator *old_allocator = src->allocator; |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
188 | CX_TEST_ASSERT(old_allocator->data == src); |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
189 | |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
190 | // perform transfer |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
191 | int result = cxMempoolTransfer(src, dest); |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
192 | CX_TEST_ASSERT(result == 0); |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
193 | |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
194 | // check transfer |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
195 | CX_TEST_ASSERT(src->size == 0); |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
196 | CX_TEST_ASSERT(dest->size == 2); |
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
197 | CX_TEST_ASSERT(src->registered_size == 0); |
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
198 | CX_TEST_ASSERT(dest->registered_size == 2); // 1 object + old allocator |
1281
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
199 | CX_TEST_ASSERT(src->allocator != old_allocator); |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
200 | CX_TEST_ASSERT(old_allocator->data == dest); |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
201 | |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
202 | // verify that destroying old pool does nothing |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
203 | test_mempool_destructor_called = 0; |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
204 | cxMempoolFree(src); |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
205 | CX_TEST_ASSERT(test_mempool_destructor_called == 0); |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
206 | |
1299
5dfce68057ce
fix theoretical (but not actual) use-after-free
Mike Becker <universe@uap-core.de>
parents:
1283
diff
changeset
|
207 | // cover illegal arguments |
5dfce68057ce
fix theoretical (but not actual) use-after-free
Mike Becker <universe@uap-core.de>
parents:
1283
diff
changeset
|
208 | result = cxMempoolTransfer(dest, dest); |
5dfce68057ce
fix theoretical (but not actual) use-after-free
Mike Becker <universe@uap-core.de>
parents:
1283
diff
changeset
|
209 | CX_TEST_ASSERT(result != 0); |
5dfce68057ce
fix theoretical (but not actual) use-after-free
Mike Becker <universe@uap-core.de>
parents:
1283
diff
changeset
|
210 | |
1281
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
211 | // verify that destroying new pool calls the destructors |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
212 | // but only two times (the old allocator has a different destructor) |
1281
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
213 | cxMempoolFree(dest); |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
214 | CX_TEST_ASSERT(test_mempool_destructor_called == 2); |
1281
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
215 | |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
216 | // free the foreign object |
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
217 | free(c); |
1283
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
218 | } |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
219 | } |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
220 | |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
221 | CX_TEST(test_mempool_transfer_object) { |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
222 | CxMempool *src = cxMempoolCreateSimple(4); |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
223 | CxMempool *dest = cxMempoolCreateSimple(4); |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
224 | CX_TEST_DO { |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
225 | int *b = cxMalloc(src->allocator, sizeof(int)); |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
226 | b = cxMalloc(src->allocator, sizeof(int)); |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
227 | int *c = malloc(sizeof(int)); |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
228 | cxMempoolRegister(src, c, free); |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
229 | CX_TEST_ASSERT(src->size == 2); |
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
230 | CX_TEST_ASSERT(src->registered_size == 1); |
1283
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
231 | |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
232 | int result = cxMempoolTransferObject(src, dest, b); |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
233 | CX_TEST_ASSERT(result == 0); |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
234 | CX_TEST_ASSERT(src->size == 1); |
1283
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
235 | CX_TEST_ASSERT(dest->size == 1); |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
236 | result = cxMempoolTransferObject(src, dest, b); |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
237 | CX_TEST_ASSERT(result != 0); |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
238 | CX_TEST_ASSERT(src->size == 1); |
1283
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
239 | CX_TEST_ASSERT(dest->size == 1); |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
240 | |
1325
20caf6efaf07
improve mempool destructor support (3/3)
Mike Becker <universe@uap-core.de>
parents:
1323
diff
changeset
|
241 | // can also transfer foreign memory this way |
20caf6efaf07
improve mempool destructor support (3/3)
Mike Becker <universe@uap-core.de>
parents:
1323
diff
changeset
|
242 | CX_TEST_ASSERT(src->registered_size == 1); |
20caf6efaf07
improve mempool destructor support (3/3)
Mike Becker <universe@uap-core.de>
parents:
1323
diff
changeset
|
243 | CX_TEST_ASSERT(dest->registered_size == 0); |
1283
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
244 | result = cxMempoolTransferObject(src, dest, c); |
1325
20caf6efaf07
improve mempool destructor support (3/3)
Mike Becker <universe@uap-core.de>
parents:
1323
diff
changeset
|
245 | CX_TEST_ASSERT(result == 0); |
20caf6efaf07
improve mempool destructor support (3/3)
Mike Becker <universe@uap-core.de>
parents:
1323
diff
changeset
|
246 | CX_TEST_ASSERT(src->registered_size == 0); |
20caf6efaf07
improve mempool destructor support (3/3)
Mike Becker <universe@uap-core.de>
parents:
1323
diff
changeset
|
247 | CX_TEST_ASSERT(dest->registered_size == 1); |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
248 | |
1283
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
249 | result = cxMempoolTransferObject(dest, dest, b); |
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
250 | CX_TEST_ASSERT(result != 0); |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
251 | CX_TEST_ASSERT(src->size == 1); |
1283
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
252 | CX_TEST_ASSERT(dest->size == 1); |
1281
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
253 | } |
1323
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
254 | cxMempoolFree(src); |
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
255 | cxMempoolFree(dest); |
deccdb82f24e
improve mempool destructor support (1/3)
Mike Becker <universe@uap-core.de>
parents:
1299
diff
changeset
|
256 | // let valgrind check that everything worked |
1281
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
257 | } |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
258 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
259 | CxTestSuite *cx_test_suite_mempool(void) { |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
260 | CxTestSuite *suite = cx_test_suite_new("mempool"); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
261 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
262 | cx_test_register(suite, test_mempool_create); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
263 | cx_test_register(suite, test_mempool_malloc); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
264 | cx_test_register(suite, test_mempool_calloc); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
265 | cx_test_register(suite, test_mempool_realloc); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
266 | cx_test_register(suite, test_mempool_free); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
267 | cx_test_register(suite, test_mempool_destroy); |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
268 | cx_test_register(suite, test_mempool_register); |
1281
45746a08c59e
add cxMempoolTransfer() - partially resolves #640
Mike Becker <universe@uap-core.de>
parents:
1178
diff
changeset
|
269 | cx_test_register(suite, test_mempool_transfer); |
1283
89935fea4b7c
add cxMempoolTransferObject() - resolves #640
Mike Becker <universe@uap-core.de>
parents:
1281
diff
changeset
|
270 | cx_test_register(suite, test_mempool_transfer_object); |
781
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
271 | |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
272 | return suite; |
a786b0a89b37
migrate mempool tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
273 | } |