2 This file is a part of libcds - Concurrent Data Structures library
4 (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
6 Source code repo: http://github.com/khizmax/libcds/
7 Download: http://sourceforge.net/projects/libcds/files/
9 Redistribution and use in source and binary forms, with or without
10 modification, are permitted provided that the following conditions are met:
12 * Redistributions of source code must retain the above copyright notice, this
13 list of conditions and the following disclaimer.
15 * Redistributions in binary form must reproduce the above copyright notice,
16 this list of conditions and the following disclaimer in the documentation
17 and/or other materials provided with the distribution.
19 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 #define CDSUNIT_DECLARE_StdMap \
32 TEST_CASE(tag_StdMap, StdMap_Spin) \
33 TEST_CASE(tag_StdMap, StdHashMap_Spin) \
34 TEST_CASE(tag_StdMap, StdMap_Mutex) \
35 TEST_CASE(tag_StdMap, StdHashMap_Mutex)
37 #define CDSUNIT_TEST_StdMap \
38 CPPUNIT_TEST(StdMap_Spin) \
39 CPPUNIT_TEST(StdHashMap_Spin) \
40 CPPUNIT_TEST(StdMap_Mutex) \
41 CPPUNIT_TEST(StdHashMap_Mutex) \
43 #define CDSUNIT_DECLARE_StdMap_NoLock \
44 TEST_CASE(tag_StdMap, StdMap_NoLock) \
45 TEST_CASE(tag_StdMap, StdHashMap_NoLock) \
47 #define CDSUNIT_TEST_StdMap_NoLock \
48 CPPUNIT_TEST(StdMap_NoLock) \
49 CPPUNIT_TEST(StdHashMap_NoLock) \
52 // **************************************************************************************
55 #undef CDSUNIT_DECLARE_MichaelMap_RCU_signal
56 #undef CDSUNIT_TEST_MichaelMap_RCU_signal
57 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
58 # define CDSUNIT_DECLARE_MichaelMap_RCU_signal \
59 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_SHB_cmp_stdAlloc) \
60 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_SHB_less_michaelAlloc) \
61 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_SHT_cmp_stdAlloc) \
62 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_SHT_less_michaelAlloc) \
63 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_SHB_cmp_stdAlloc) \
64 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_SHB_less_michaelAlloc) \
65 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_SHT_cmp_stdAlloc) \
66 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_SHT_less_michaelAlloc)
68 # define CDSUNIT_TEST_MichaelMap_RCU_signal \
69 CPPUNIT_TEST(MichaelMap_RCU_SHB_cmp_stdAlloc) \
70 CPPUNIT_TEST(MichaelMap_RCU_SHB_less_michaelAlloc) \
71 CPPUNIT_TEST(MichaelMap_RCU_SHT_cmp_stdAlloc) \
72 CPPUNIT_TEST(MichaelMap_RCU_SHT_less_michaelAlloc) \
73 CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHB_cmp_stdAlloc) \
74 CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHB_less_michaelAlloc) \
75 CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHT_cmp_stdAlloc) \
76 CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHT_less_michaelAlloc)
79 # define CDSUNIT_DECLARE_MichaelMap_RCU_signal
80 # define CDSUNIT_TEST_MichaelMap_RCU_signal
83 #undef CDSUNIT_DECLARE_MichaelMap
84 #define CDSUNIT_DECLARE_MichaelMap \
85 TEST_CASE(tag_MichaelHashMap, MichaelMap_HP_cmp_stdAlloc) \
86 TEST_CASE(tag_MichaelHashMap, MichaelMap_HP_less_michaelAlloc) \
87 TEST_CASE(tag_MichaelHashMap, MichaelMap_DHP_cmp_stdAlloc) \
88 TEST_CASE(tag_MichaelHashMap, MichaelMap_DHP_less_michaelAlloc) \
89 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPI_cmp_stdAlloc) \
90 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPI_less_michaelAlloc) \
91 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPB_cmp_stdAlloc) \
92 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPB_less_michaelAlloc) \
93 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPT_cmp_stdAlloc) \
94 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPT_less_michaelAlloc) \
95 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_HP_cmp_stdAlloc) \
96 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_HP_less_michaelAlloc) \
97 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_DHP_cmp_stdAlloc) \
98 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_DHP_less_michaelAlloc) \
99 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPI_cmp_stdAlloc) \
100 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPI_less_michaelAlloc) \
101 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPB_cmp_stdAlloc) \
102 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPB_less_michaelAlloc) \
103 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPT_cmp_stdAlloc) \
104 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPT_less_michaelAlloc)\
105 CDSUNIT_DECLARE_MichaelMap_RCU_signal
107 #undef CDSUNIT_TEST_MichaelMap
108 #define CDSUNIT_TEST_MichaelMap \
109 CPPUNIT_TEST(MichaelMap_HP_cmp_stdAlloc) \
110 CPPUNIT_TEST(MichaelMap_HP_less_michaelAlloc) \
111 CPPUNIT_TEST(MichaelMap_DHP_cmp_stdAlloc) \
112 CPPUNIT_TEST(MichaelMap_DHP_less_michaelAlloc) \
113 CPPUNIT_TEST(MichaelMap_RCU_GPI_cmp_stdAlloc) \
114 CPPUNIT_TEST(MichaelMap_RCU_GPI_less_michaelAlloc) \
115 CPPUNIT_TEST(MichaelMap_RCU_GPB_cmp_stdAlloc) \
116 CPPUNIT_TEST(MichaelMap_RCU_GPB_less_michaelAlloc) \
117 CPPUNIT_TEST(MichaelMap_RCU_GPT_cmp_stdAlloc) \
118 CPPUNIT_TEST(MichaelMap_RCU_GPT_less_michaelAlloc) \
119 CPPUNIT_TEST(MichaelMap_Lazy_HP_cmp_stdAlloc) \
120 CPPUNIT_TEST(MichaelMap_Lazy_HP_less_michaelAlloc) \
121 CPPUNIT_TEST(MichaelMap_Lazy_DHP_cmp_stdAlloc) \
122 CPPUNIT_TEST(MichaelMap_Lazy_DHP_less_michaelAlloc) \
123 CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPI_cmp_stdAlloc) \
124 CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPI_less_michaelAlloc) \
125 CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPB_cmp_stdAlloc) \
126 CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPB_less_michaelAlloc) \
127 CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPT_cmp_stdAlloc) \
128 CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPT_less_michaelAlloc)\
129 CDSUNIT_TEST_MichaelMap_RCU_signal
131 #undef CDSUNIT_DECLARE_MichaelMap_nogc
132 #define CDSUNIT_DECLARE_MichaelMap_nogc \
133 TEST_CASE(tag_MichaelHashMap, MichaelMap_NOGC_cmp_stdAlloc) \
134 TEST_CASE(tag_MichaelHashMap, MichaelMap_NOGC_less_michaelAlloc) \
135 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_NOGC_cmp_stdAlloc) \
136 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_NOGC_unord_stdAlloc) \
137 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_NOGC_less_michaelAlloc)
139 #undef CDSUNIT_TEST_MichaelMap_nogc
140 #define CDSUNIT_TEST_MichaelMap_nogc \
141 CPPUNIT_TEST(MichaelMap_NOGC_cmp_stdAlloc) \
142 CPPUNIT_TEST(MichaelMap_NOGC_less_michaelAlloc) \
143 CPPUNIT_TEST(MichaelMap_Lazy_NOGC_cmp_stdAlloc) \
144 CPPUNIT_TEST(MichaelMap_Lazy_NOGC_unord_stdAlloc) \
145 CPPUNIT_TEST(MichaelMap_Lazy_NOGC_less_michaelAlloc) \
148 // **************************************************************************************
151 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
152 # define CDSUNIT_DECLARE_SplitList_RCU_signal \
153 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_dyn_cmp)\
154 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_dyn_cmp_stat)\
155 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_st_cmp)\
156 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_dyn_less)\
157 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_st_less)\
158 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_st_less_stat)\
159 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_dyn_cmp)\
160 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_dyn_cmp_stat)\
161 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_st_cmp)\
162 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_dyn_less)\
163 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_st_less)\
164 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_st_less_stat)\
165 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_dyn_cmp)\
166 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\
167 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_st_cmp)\
168 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_dyn_less)\
169 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_st_less)\
170 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_st_less_stat)\
171 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_dyn_cmp)\
172 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\
173 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_st_cmp)\
174 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_dyn_less)\
175 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_st_less)\
176 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_st_less_stat)
178 # define CDSUNIT_TEST_SplitList_RCU_signal \
179 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp)\
180 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp_stat)\
181 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_cmp)\
182 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_less)\
183 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_less)\
184 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_less_stat)\
185 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_cmp)\
186 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_cmp_stat)\
187 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_cmp)\
188 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_less)\
189 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_less)\
190 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_less_stat)\
191 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp)\
192 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\
193 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_cmp)\
194 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_less)\
195 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_less)\
196 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_less_stat)\
197 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp)\
198 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\
199 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_cmp)\
200 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_less)\
201 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_less)\
202 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_less_stat)
205 # define CDSUNIT_DECLARE_SplitList_RCU_signal
206 # define CDSUNIT_TEST_SplitList_RCU_signal
209 #define CDSUNIT_DECLARE_SplitList \
210 TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_dyn_cmp)\
211 TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_dyn_cmp_stat)\
212 TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_st_cmp)\
213 TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_dyn_less)\
214 TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_st_less)\
215 TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_st_less_stat)\
216 TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_dyn_cmp)\
217 TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_dyn_cmp_stat)\
218 TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_st_cmp)\
219 TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_dyn_less)\
220 TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_st_less)\
221 TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_st_less_stat)\
222 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_dyn_cmp)\
223 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
224 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_st_cmp)\
225 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_dyn_less)\
226 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_st_less)\
227 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_st_less_stat)\
228 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_dyn_cmp)\
229 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
230 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_st_cmp)\
231 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_dyn_less)\
232 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_st_less)\
233 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_st_less_stat)\
234 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_dyn_cmp)\
235 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
236 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_st_cmp)\
237 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_dyn_less)\
238 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_st_less)\
239 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_st_less_stat)\
240 TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_dyn_cmp)\
241 TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_dyn_cmp_stat)\
242 TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_st_cmp)\
243 TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_dyn_less)\
244 TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_st_less)\
245 TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_st_less_stat)\
246 TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_dyn_cmp)\
247 TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_dyn_cmp_stat)\
248 TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_st_cmp)\
249 TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_dyn_less)\
250 TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_st_less)\
251 TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_st_less_stat)\
252 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_dyn_cmp)\
253 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
254 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_st_cmp)\
255 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_dyn_less)\
256 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_st_less)\
257 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_st_less_stat)\
258 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_dyn_cmp)\
259 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
260 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_st_cmp)\
261 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_dyn_less)\
262 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_st_less)\
263 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_st_less_stat)\
264 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_dyn_cmp)\
265 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
266 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_st_cmp)\
267 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_dyn_less)\
268 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_st_less)\
269 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_st_less_stat)\
270 CDSUNIT_DECLARE_SplitList_RCU_signal
272 #define CDSUNIT_TEST_SplitList \
273 CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp)\
274 CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp_stat)\
275 CPPUNIT_TEST(SplitList_Michael_HP_st_cmp)\
276 CPPUNIT_TEST(SplitList_Michael_HP_dyn_less)\
277 CPPUNIT_TEST(SplitList_Michael_HP_st_less)\
278 CPPUNIT_TEST(SplitList_Michael_HP_st_less_stat)\
279 CPPUNIT_TEST(SplitList_Michael_DHP_dyn_cmp)\
280 CPPUNIT_TEST(SplitList_Michael_DHP_dyn_cmp_stat)\
281 CPPUNIT_TEST(SplitList_Michael_DHP_st_cmp)\
282 CPPUNIT_TEST(SplitList_Michael_DHP_dyn_less)\
283 CPPUNIT_TEST(SplitList_Michael_DHP_st_less)\
284 CPPUNIT_TEST(SplitList_Michael_DHP_st_less_stat)\
285 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp)\
286 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
287 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_cmp)\
288 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_less)\
289 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less)\
290 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less_stat)\
291 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp)\
292 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
293 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_cmp)\
294 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_less)\
295 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less)\
296 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less_stat)\
297 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp)\
298 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
299 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_cmp)\
300 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_less)\
301 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less)\
302 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less_stat)\
303 CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp)\
304 CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp_stat)\
305 CPPUNIT_TEST(SplitList_Lazy_HP_st_cmp)\
306 CPPUNIT_TEST(SplitList_Lazy_HP_dyn_less)\
307 CPPUNIT_TEST(SplitList_Lazy_HP_st_less)\
308 CPPUNIT_TEST(SplitList_Lazy_HP_st_less_stat)\
309 CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_cmp)\
310 CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_cmp_stat)\
311 CPPUNIT_TEST(SplitList_Lazy_DHP_st_cmp)\
312 CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_less)\
313 CPPUNIT_TEST(SplitList_Lazy_DHP_st_less)\
314 CPPUNIT_TEST(SplitList_Lazy_DHP_st_less_stat)\
315 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp)\
316 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
317 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_cmp)\
318 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_less)\
319 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less)\
320 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less_stat)\
321 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp)\
322 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
323 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_cmp)\
324 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_less)\
325 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less)\
326 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less_stat)\
327 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp)\
328 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
329 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_cmp)\
330 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_less)\
331 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less)\
332 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less_stat)\
333 CDSUNIT_TEST_SplitList_RCU_signal
335 #define CDSUNIT_DECLARE_SplitList_nogc \
336 TEST_CASE(tag_SplitListMap, SplitList_Michael_NOGC_dyn_cmp)\
337 TEST_CASE(tag_SplitListMap, SplitList_Michael_NOGC_st_cmp)\
338 TEST_CASE(tag_SplitListMap, SplitList_Michael_NOGC_dyn_less)\
339 TEST_CASE(tag_SplitListMap, SplitList_Michael_NOGC_st_less)\
340 TEST_CASE(tag_SplitListMap, SplitList_Lazy_NOGC_dyn_cmp)\
341 TEST_CASE(tag_SplitListMap, SplitList_Lazy_NOGC_st_cmp)\
342 TEST_CASE(tag_SplitListMap, SplitList_Lazy_NOGC_dyn_less)\
343 TEST_CASE(tag_SplitListMap, SplitList_Lazy_NOGC_st_less)
345 #define CDSUNIT_TEST_SplitList_nogc \
346 CPPUNIT_TEST(SplitList_Michael_NOGC_dyn_cmp)\
347 CPPUNIT_TEST(SplitList_Michael_NOGC_st_cmp)\
348 CPPUNIT_TEST(SplitList_Michael_NOGC_dyn_less)\
349 CPPUNIT_TEST(SplitList_Michael_NOGC_st_less)\
350 CPPUNIT_TEST(SplitList_Lazy_NOGC_dyn_cmp)\
351 CPPUNIT_TEST(SplitList_Lazy_NOGC_st_cmp)\
352 CPPUNIT_TEST(SplitList_Lazy_NOGC_dyn_less)\
353 CPPUNIT_TEST(SplitList_Lazy_NOGC_st_less)
356 // **************************************************************************************
359 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
360 # define CDSUNIT_DECLARE_SkipListMap_RCU_signal \
361 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_shb_less_pascal)\
362 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_shb_cmp_pascal_stat)\
363 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_shb_less_xorshift)\
364 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_shb_cmp_xorshift_stat)\
365 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_sht_less_pascal)\
366 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_sht_cmp_pascal_stat)\
367 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_sht_less_xorshift)\
368 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_sht_cmp_xorshift_stat)
370 # define CDSUNIT_TEST_SkipListMap_RCU_signal \
371 CPPUNIT_TEST(SkipListMap_rcu_shb_less_pascal)\
372 CPPUNIT_TEST(SkipListMap_rcu_shb_cmp_pascal_stat)\
373 CPPUNIT_TEST(SkipListMap_rcu_shb_less_xorshift)\
374 CPPUNIT_TEST(SkipListMap_rcu_shb_cmp_xorshift_stat)\
375 CPPUNIT_TEST(SkipListMap_rcu_sht_less_pascal)\
376 CPPUNIT_TEST(SkipListMap_rcu_sht_cmp_pascal_stat)\
377 CPPUNIT_TEST(SkipListMap_rcu_sht_less_xorshift)\
378 CPPUNIT_TEST(SkipListMap_rcu_sht_cmp_xorshift_stat)
381 # define CDSUNIT_DECLARE_SkipListMap_RCU_signal
382 # define CDSUNIT_TEST_SkipListMap_RCU_signal
385 #define CDSUNIT_DECLARE_SkipListMap \
386 TEST_CASE(tag_SkipListMap, SkipListMap_hp_less_pascal)\
387 TEST_CASE(tag_SkipListMap, SkipListMap_hp_cmp_pascal_stat)\
388 TEST_CASE(tag_SkipListMap, SkipListMap_hp_less_xorshift)\
389 TEST_CASE(tag_SkipListMap, SkipListMap_hp_cmp_xorshift_stat)\
390 TEST_CASE(tag_SkipListMap, SkipListMap_dhp_less_pascal)\
391 TEST_CASE(tag_SkipListMap, SkipListMap_dhp_cmp_pascal_stat)\
392 TEST_CASE(tag_SkipListMap, SkipListMap_dhp_less_xorshift)\
393 TEST_CASE(tag_SkipListMap, SkipListMap_dhp_cmp_xorshift_stat)\
394 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpi_less_pascal)\
395 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpi_cmp_pascal_stat)\
396 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpi_less_xorshift)\
397 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpi_cmp_xorshift_stat)\
398 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpb_less_pascal)\
399 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpb_cmp_pascal_stat)\
400 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpb_less_xorshift)\
401 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpb_cmp_xorshift_stat)\
402 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpt_less_pascal)\
403 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpt_cmp_pascal_stat)\
404 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpt_less_xorshift)\
405 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpt_cmp_xorshift_stat)\
406 CDSUNIT_DECLARE_SkipListMap_RCU_signal
408 #define CDSUNIT_TEST_SkipListMap \
409 CPPUNIT_TEST(SkipListMap_hp_less_pascal)\
410 CPPUNIT_TEST(SkipListMap_hp_cmp_pascal_stat)\
411 CPPUNIT_TEST(SkipListMap_hp_less_xorshift)\
412 CPPUNIT_TEST(SkipListMap_hp_cmp_xorshift_stat)\
413 CPPUNIT_TEST(SkipListMap_dhp_less_pascal)\
414 CPPUNIT_TEST(SkipListMap_dhp_cmp_pascal_stat)\
415 CPPUNIT_TEST(SkipListMap_dhp_less_xorshift)\
416 CPPUNIT_TEST(SkipListMap_dhp_cmp_xorshift_stat)\
417 CPPUNIT_TEST(SkipListMap_rcu_gpi_less_pascal)\
418 CPPUNIT_TEST(SkipListMap_rcu_gpi_cmp_pascal_stat)\
419 CPPUNIT_TEST(SkipListMap_rcu_gpi_less_xorshift)\
420 CPPUNIT_TEST(SkipListMap_rcu_gpi_cmp_xorshift_stat)\
421 CPPUNIT_TEST(SkipListMap_rcu_gpb_less_pascal)\
422 CPPUNIT_TEST(SkipListMap_rcu_gpb_cmp_pascal_stat)\
423 CPPUNIT_TEST(SkipListMap_rcu_gpb_less_xorshift)\
424 CPPUNIT_TEST(SkipListMap_rcu_gpb_cmp_xorshift_stat)\
425 CPPUNIT_TEST(SkipListMap_rcu_gpt_less_pascal)\
426 CPPUNIT_TEST(SkipListMap_rcu_gpt_cmp_pascal_stat)\
427 CPPUNIT_TEST(SkipListMap_rcu_gpt_less_xorshift)\
428 CPPUNIT_TEST(SkipListMap_rcu_gpt_cmp_xorshift_stat)\
429 CDSUNIT_TEST_SkipListMap_RCU_signal
431 #define CDSUNIT_DECLARE_SkipListMap_nogc \
432 TEST_CASE(tag_SkipListMap, SkipListMap_nogc_less_pascal)\
433 TEST_CASE(tag_SkipListMap, SkipListMap_nogc_cmp_pascal_stat)\
434 TEST_CASE(tag_SkipListMap, SkipListMap_nogc_less_xorshift)\
435 TEST_CASE(tag_SkipListMap, SkipListMap_nogc_cmp_xorshift_stat)
437 #define CDSUNIT_TEST_SkipListMap_nogc \
438 CPPUNIT_TEST(SkipListMap_nogc_less_pascal)\
439 CPPUNIT_TEST(SkipListMap_nogc_cmp_pascal_stat)\
440 CPPUNIT_TEST(SkipListMap_nogc_less_xorshift)\
441 CPPUNIT_TEST(SkipListMap_nogc_cmp_xorshift_stat)
444 // **************************************************************************************
447 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
448 # define CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal \
449 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_shb)\
450 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_shb_stat)\
451 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_sht)\
452 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_sht_stat)
454 # define CDSUNIT_TEST_EllenBinTreeMap_RCU_signal \
455 CPPUNIT_TEST(EllenBinTreeMap_rcu_shb)\
456 CPPUNIT_TEST(EllenBinTreeMap_rcu_shb_stat)\
457 CPPUNIT_TEST(EllenBinTreeMap_rcu_sht)\
458 CPPUNIT_TEST(EllenBinTreeMap_rcu_sht_stat)
460 # define CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal
461 # define CDSUNIT_TEST_EllenBinTreeMap_RCU_signal
464 #define CDSUNIT_DECLARE_EllenBinTreeMap \
465 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_hp)\
466 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_hp_yield)\
467 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_hp_stat)\
468 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_dhp)\
469 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_dhp_yield)\
470 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_dhp_stat)\
471 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpi)\
472 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpi_stat)\
473 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpb)\
474 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpb_yield)\
475 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpb_stat)\
476 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpt)\
477 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpt_stat)\
478 CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal
480 #define CDSUNIT_TEST_EllenBinTreeMap \
481 CPPUNIT_TEST(EllenBinTreeMap_hp)\
482 CPPUNIT_TEST(EllenBinTreeMap_hp_yield)\
483 CPPUNIT_TEST(EllenBinTreeMap_hp_stat)\
484 CPPUNIT_TEST(EllenBinTreeMap_dhp)\
485 CPPUNIT_TEST(EllenBinTreeMap_dhp_yield)\
486 CPPUNIT_TEST(EllenBinTreeMap_dhp_stat)\
487 CPPUNIT_TEST(EllenBinTreeMap_rcu_gpi)\
488 CPPUNIT_TEST(EllenBinTreeMap_rcu_gpi_stat)\
489 CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb)\
490 CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb_yield)\
491 CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb_stat)\
492 CPPUNIT_TEST(EllenBinTreeMap_rcu_gpt)\
493 CPPUNIT_TEST(EllenBinTreeMap_rcu_gpt_stat)\
494 CDSUNIT_TEST_EllenBinTreeMap_RCU_signal
497 // **************************************************************************************
500 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
501 # define CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal \
502 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_less) \
503 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_less) \
504 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_cmp_stat) \
505 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_cmp_stat) \
506 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_less_pool_simple) \
507 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_less_pool_simple) \
508 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat) \
509 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat) \
510 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_less_pool_lazy) \
511 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \
512 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat) \
513 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat) \
514 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_less_pool_bounded) \
515 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \
516 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat) \
517 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat) \
519 # define CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal \
520 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less) \
521 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less) \
522 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_cmp_stat) \
523 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_cmp_stat) \
524 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_simple) \
525 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat) \
526 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple) \
527 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat) \
528 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_lazy) \
529 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat) \
530 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \
531 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat) \
532 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_bounded) \
533 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat) \
534 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \
535 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat) \
538 # define CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal
539 # define CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal
542 #define CDSUNIT_DECLARE_BronsonAVLTreeMap \
543 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_less)\
544 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_less)\
545 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_less)\
546 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_cmp_stat)\
547 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_cmp_stat)\
548 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_cmp_stat)\
549 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_less_pool_simple)\
550 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\
551 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\
552 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat)\
553 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat)\
554 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat)\
555 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_less_pool_lazy)\
556 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\
557 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\
558 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat)\
559 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat)\
560 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat)\
561 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_less_pool_bounded)\
562 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\
563 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\
564 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_less_pool_bounded_stat)\
565 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_less_pool_bounded_stat)\
566 TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat)\
567 CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal
569 #define CDSUNIT_TEST_BronsonAVLTreeMap \
570 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less)\
571 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_cmp_stat)\
572 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less)\
573 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_cmp_stat)\
574 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less)\
575 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_cmp_stat)\
576 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_simple)\
577 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat)\
578 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\
579 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat)\
580 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\
581 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat)\
582 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy)\
583 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat)\
584 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\
585 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat)\
586 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\
587 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat)\
588 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded)\
589 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded_stat)\
590 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\
591 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded_stat)\
592 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\
593 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat)\
594 CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal
597 // **************************************************************************************
600 #define CDSUNIT_DECLARE_StripedMap_common \
601 TEST_CASE(tag_StripedMap, StripedMap_list) \
602 TEST_CASE(tag_StripedMap, StripedMap_map) \
603 TEST_CASE(tag_StripedMap, StripedMap_hashmap) \
604 TEST_CASE(tag_StripedMap, StripedMap_boost_unordered_map)
606 #define CDSUNIT_TEST_StripedMap_common \
607 CPPUNIT_TEST(StripedMap_list) \
608 CPPUNIT_TEST(StripedMap_map) \
609 CPPUNIT_TEST(StripedMap_hashmap) \
610 CPPUNIT_TEST(StripedMap_boost_unordered_map)
612 #if BOOST_VERSION >= 104800
613 # define CDSUNIT_DECLARE_StripedMap_boost_container \
614 TEST_CASE(tag_StripedMap, StripedMap_boost_list) \
615 TEST_CASE(tag_StripedMap, StripedMap_slist) \
616 TEST_CASE(tag_StripedMap, StripedMap_boost_map)
618 # define CDSUNIT_TEST_StripedMap_boost_container \
619 CPPUNIT_TEST(StripedMap_boost_list) \
620 CPPUNIT_TEST(StripedMap_slist) \
621 CPPUNIT_TEST(StripedMap_boost_map)
623 # define CDSUNIT_DECLARE_StripedMap_boost_container
624 # define CDSUNIT_TEST_StripedMap_boost_container
627 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
628 # define CDSUNIT_DECLARE_StripedMap_boost_flat_container \
629 TEST_CASE(tag_StripedMap, StripedMap_boost_flat_map)
631 # define CDSUNIT_TEST_StripedMap_boost_flat_container \
632 CPPUNIT_TEST(StripedMap_boost_flat_map)
634 # define CDSUNIT_DECLARE_StripedMap_boost_flat_container
635 # define CDSUNIT_TEST_StripedMap_boost_flat_container
638 #define CDSUNIT_DECLARE_StripedMap \
639 CDSUNIT_DECLARE_StripedMap_common \
640 CDSUNIT_DECLARE_StripedMap_boost_container \
641 CDSUNIT_DECLARE_StripedMap_boost_flat_container
643 #define CDSUNIT_TEST_StripedMap \
644 CDSUNIT_TEST_StripedMap_common \
645 CDSUNIT_TEST_StripedMap_boost_container \
646 CDSUNIT_TEST_StripedMap_boost_flat_container
649 // **************************************************************************************
652 #define CDSUNIT_DECLARE_RefinableMap_common \
653 TEST_CASE(tag_StripedMap, RefinableMap_list) \
654 TEST_CASE(tag_StripedMap, RefinableMap_map) \
655 TEST_CASE(tag_StripedMap, RefinableMap_hashmap) \
656 TEST_CASE(tag_StripedMap, RefinableMap_boost_unordered_map)
658 #define CDSUNIT_TEST_RefinableMap_common \
659 CPPUNIT_TEST(RefinableMap_list) \
660 CPPUNIT_TEST(RefinableMap_map) \
661 CPPUNIT_TEST(RefinableMap_hashmap) \
662 CPPUNIT_TEST(RefinableMap_boost_unordered_map)
664 #if BOOST_VERSION >= 104800
665 # define CDSUNIT_DECLARE_RefinableMap_boost_container \
666 TEST_CASE(tag_StripedMap, RefinableMap_boost_list) \
667 TEST_CASE(tag_StripedMap, RefinableMap_slist) \
668 TEST_CASE(tag_StripedMap, RefinableMap_boost_map)
670 # define CDSUNIT_TEST_RefinableMap_boost_container \
671 CPPUNIT_TEST(RefinableMap_boost_list) \
672 CPPUNIT_TEST(RefinableMap_slist) \
673 CPPUNIT_TEST(RefinableMap_boost_map)
675 # define CDSUNIT_DECLARE_RefinableMap_boost_container
676 # define CDSUNIT_TEST_RefinableMap_boost_container
679 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
680 # define CDSUNIT_DECLARE_RefinableMap_boost_flat_container \
681 TEST_CASE(tag_StripedMap, RefinableMap_boost_flat_map)
683 # define CDSUNIT_TEST_RefinableMap_boost_flat_container \
684 CPPUNIT_TEST(RefinableMap_boost_flat_map)
686 # define CDSUNIT_DECLARE_RefinableMap_boost_flat_container
687 # define CDSUNIT_TEST_RefinableMap_boost_flat_container
690 #define CDSUNIT_DECLARE_RefinableMap \
691 CDSUNIT_DECLARE_RefinableMap_common \
692 CDSUNIT_DECLARE_RefinableMap_boost_container \
693 CDSUNIT_DECLARE_RefinableMap_boost_flat_container
695 #define CDSUNIT_TEST_RefinableMap \
696 CDSUNIT_TEST_RefinableMap_common \
697 CDSUNIT_TEST_RefinableMap_boost_container \
698 CDSUNIT_TEST_RefinableMap_boost_flat_container
701 // **************************************************************************************
704 #define CDSUNIT_DECLARE_CuckooMap \
705 TEST_CASE(tag_CuckooMap, CuckooStripedMap_list_unord)\
706 TEST_CASE(tag_CuckooMap, CuckooStripedMap_list_ord)\
707 TEST_CASE(tag_CuckooMap, CuckooStripedMap_vector_unord)\
708 TEST_CASE(tag_CuckooMap, CuckooStripedMap_vector_ord)\
709 TEST_CASE(tag_CuckooMap, CuckooStripedMap_list_unord_stat)\
710 TEST_CASE(tag_CuckooMap, CuckooStripedMap_list_ord_stat)\
711 TEST_CASE(tag_CuckooMap, CuckooStripedMap_vector_unord_stat)\
712 TEST_CASE(tag_CuckooMap, CuckooStripedMap_vector_ord_stat)\
713 TEST_CASE(tag_CuckooMap, CuckooRefinableMap_list_unord)\
714 TEST_CASE(tag_CuckooMap, CuckooRefinableMap_list_ord)\
715 TEST_CASE(tag_CuckooMap, CuckooRefinableMap_vector_unord)\
716 TEST_CASE(tag_CuckooMap, CuckooRefinableMap_vector_ord) \
717 TEST_CASE(tag_CuckooMap, CuckooRefinableMap_list_unord_stat)\
718 TEST_CASE(tag_CuckooMap, CuckooRefinableMap_list_ord_stat)\
719 TEST_CASE(tag_CuckooMap, CuckooRefinableMap_vector_unord_stat)\
720 TEST_CASE(tag_CuckooMap, CuckooRefinableMap_vector_ord_stat) \
721 TEST_CASE(tag_CuckooMap, CuckooStripedMap_list_unord_storehash)\
722 TEST_CASE(tag_CuckooMap, CuckooStripedMap_list_ord_storehash)\
723 TEST_CASE(tag_CuckooMap, CuckooStripedMap_vector_unord_storehash)\
724 TEST_CASE(tag_CuckooMap, CuckooStripedMap_vector_ord_storehash)\
725 TEST_CASE(tag_CuckooMap, CuckooRefinableMap_list_unord_storehash)\
726 TEST_CASE(tag_CuckooMap, CuckooRefinableMap_list_ord_storehash)\
727 TEST_CASE(tag_CuckooMap, CuckooRefinableMap_vector_unord_storehash)\
728 TEST_CASE(tag_CuckooMap, CuckooRefinableMap_vector_ord_storehash)
730 #define CDSUNIT_TEST_CuckooMap \
731 CPPUNIT_TEST(CuckooStripedMap_list_unord)\
732 CPPUNIT_TEST(CuckooStripedMap_list_unord_stat)\
733 CPPUNIT_TEST(CuckooStripedMap_list_unord_storehash)\
734 CPPUNIT_TEST(CuckooStripedMap_list_ord)\
735 CPPUNIT_TEST(CuckooStripedMap_list_ord_stat)\
736 CPPUNIT_TEST(CuckooStripedMap_list_ord_storehash)\
737 CPPUNIT_TEST(CuckooStripedMap_vector_unord)\
738 CPPUNIT_TEST(CuckooStripedMap_vector_unord_stat)\
739 CPPUNIT_TEST(CuckooStripedMap_vector_unord_storehash)\
740 CPPUNIT_TEST(CuckooStripedMap_vector_ord)\
741 CPPUNIT_TEST(CuckooStripedMap_vector_ord_stat)\
742 CPPUNIT_TEST(CuckooStripedMap_vector_ord_storehash)\
743 CPPUNIT_TEST(CuckooRefinableMap_list_unord)\
744 CPPUNIT_TEST(CuckooRefinableMap_list_unord_stat)\
745 CPPUNIT_TEST(CuckooRefinableMap_list_unord_storehash)\
746 CPPUNIT_TEST(CuckooRefinableMap_list_ord)\
747 CPPUNIT_TEST(CuckooRefinableMap_list_ord_stat)\
748 CPPUNIT_TEST(CuckooRefinableMap_list_ord_storehash)\
749 CPPUNIT_TEST(CuckooRefinableMap_vector_unord)\
750 CPPUNIT_TEST(CuckooRefinableMap_vector_unord_stat)\
751 CPPUNIT_TEST(CuckooRefinableMap_vector_unord_storehash)\
752 CPPUNIT_TEST(CuckooRefinableMap_vector_ord)\
753 CPPUNIT_TEST(CuckooRefinableMap_vector_ord_stat)\
754 CPPUNIT_TEST(CuckooRefinableMap_vector_ord_storehash)
757 // **************************************************************************************
761 // fixed-sized key - no hash function is necessary
763 #undef CDSUNIT_DECLARE_FeldmanHashMap_fixed
764 #undef CDSUNIT_DECLARE_FeldmanHashMap_fixed_RCU_Signal
765 #undef CDSUNIT_TEST_FeldmanHashMap_fixed
766 #undef CDSUNIT_TEST_FeldmanHashMap_fixed_RCU_Signal
768 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
769 # define CDSUNIT_DECLARE_FeldmanHashMap_fixed_RCU_Signal \
770 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_fixed) \
771 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_fixed_stat) \
772 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_fixed) \
773 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_fixed_stat) \
775 # define CDSUNIT_TEST_FeldmanHashMap_fixed_RCU_Signal \
776 CPPUNIT_TEST(FeldmanHashMap_rcu_shb_fixed) \
777 CPPUNIT_TEST(FeldmanHashMap_rcu_shb_fixed_stat) \
778 CPPUNIT_TEST(FeldmanHashMap_rcu_sht_fixed) \
779 CPPUNIT_TEST(FeldmanHashMap_rcu_sht_fixed_stat) \
782 # define CDSUNIT_DECLARE_FeldmanHashMap_fixed_RCU_Signal
783 # define CDSUNIT_TEST_FeldmanHashMap_fixed_RCU_Signal
787 #define CDSUNIT_DECLARE_FeldmanHashMap_fixed \
788 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_fixed) \
789 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_fixed_stat) \
790 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_fixed) \
791 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_fixed_stat) \
792 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_fixed) \
793 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_fixed_stat) \
794 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_fixed) \
795 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_fixed_stat) \
796 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_fixed) \
797 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_fixed_stat) \
798 CDSUNIT_DECLARE_FeldmanHashMap_fixed_RCU_Signal
800 #define CDSUNIT_TEST_FeldmanHashMap_fixed \
801 CPPUNIT_TEST(FeldmanHashMap_hp_fixed) \
802 CPPUNIT_TEST(FeldmanHashMap_hp_fixed_stat) \
803 CPPUNIT_TEST(FeldmanHashMap_dhp_fixed) \
804 CPPUNIT_TEST(FeldmanHashMap_dhp_fixed_stat) \
805 CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_fixed) \
806 CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_fixed_stat) \
807 CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_fixed) \
808 CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_fixed_stat) \
809 CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_fixed) \
810 CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_fixed_stat) \
811 CDSUNIT_TEST_FeldmanHashMap_fixed_RCU_Signal
815 #undef CDSUNIT_DECLARE_FeldmanHashMap_stdhash
816 #undef CDSUNIT_DECLARE_FeldmanHashMap_stdhash_RCU_Signal
817 #undef CDSUNIT_TEST_FeldmanHashMap_stdhash
818 #undef CDSUNIT_TEST_FeldmanHashMap_stdhash_RCU_Signal
820 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
821 # define CDSUNIT_DECLARE_FeldmanHashMap_stdhash_RCU_Signal \
822 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_stdhash) \
823 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_stdhash_stat) \
824 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_stdhash) \
825 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_stdhash_stat) \
827 # define CDSUNIT_TEST_FeldmanHashMap_stdhash_RCU_Signal \
828 CPPUNIT_TEST(FeldmanHashMap_rcu_shb_stdhash) \
829 CPPUNIT_TEST(FeldmanHashMap_rcu_shb_stdhash_stat) \
830 CPPUNIT_TEST(FeldmanHashMap_rcu_sht_stdhash) \
831 CPPUNIT_TEST(FeldmanHashMap_rcu_sht_stdhash_stat) \
834 # define CDSUNIT_DECLARE_FeldmanHashMap_stdhash_RCU_Signal
835 # define CDSUNIT_TEST_FeldmanHashMap_stdhash_RCU_Signal
839 #define CDSUNIT_DECLARE_FeldmanHashMap_stdhash \
840 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_stdhash) \
841 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_stdhash_stat) \
842 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_stdhash) \
843 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_stdhash_stat) \
844 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_stdhash) \
845 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_stdhash_stat) \
846 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_stdhash) \
847 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_stdhash_stat) \
848 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_stdhash) \
849 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_stdhash_stat) \
850 CDSUNIT_DECLARE_FeldmanHashMap_stdhash_RCU_Signal
852 #define CDSUNIT_TEST_FeldmanHashMap_stdhash \
853 CPPUNIT_TEST(FeldmanHashMap_hp_stdhash) \
854 CPPUNIT_TEST(FeldmanHashMap_hp_stdhash_stat) \
855 CPPUNIT_TEST(FeldmanHashMap_dhp_stdhash) \
856 CPPUNIT_TEST(FeldmanHashMap_dhp_stdhash_stat) \
857 CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_stdhash) \
858 CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_stdhash_stat) \
859 CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_stdhash) \
860 CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_stdhash_stat) \
861 CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_stdhash) \
862 CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_stdhash_stat) \
863 CDSUNIT_TEST_FeldmanHashMap_stdhash_RCU_Signal
865 // CityHash - only for 64bit
867 #undef CDSUNIT_DECLARE_FeldmanHashMap_city128_RCU_Signal
868 #undef CDSUNIT_TEST_FeldmanHashMap_city128_RCU_Signal
870 #if CDS_BUILD_BITS == 64
872 #undef CDSUNIT_DECLARE_FeldmanHashMap_city64
873 #undef CDSUNIT_DECLARE_FeldmanHashMap_city64_RCU_Signal
874 #undef CDSUNIT_TEST_FeldmanHashMap_city64
875 #undef CDSUNIT_TEST_FeldmanHashMap_city64_RCU_Signal
877 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
878 # define CDSUNIT_DECLARE_FeldmanHashMap_city64_RCU_Signal \
879 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_city64) \
880 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_city64_stat) \
881 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_city64) \
882 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_city64_stat) \
884 # define CDSUNIT_TEST_FeldmanHashMap_city64_RCU_Signal \
885 CPPUNIT_TEST(FeldmanHashMap_rcu_shb_city64) \
886 CPPUNIT_TEST(FeldmanHashMap_rcu_shb_city64_stat) \
887 CPPUNIT_TEST(FeldmanHashMap_rcu_sht_city64) \
888 CPPUNIT_TEST(FeldmanHashMap_rcu_sht_city64_stat) \
891 # define CDSUNIT_DECLARE_FeldmanHashMap_city64_RCU_Signal
892 # define CDSUNIT_TEST_FeldmanHashMap_city64_RCU_Signal
896 #define CDSUNIT_DECLARE_FeldmanHashMap_city64 \
897 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_city64) \
898 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_city64_stat) \
899 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_city64) \
900 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_city64_stat) \
901 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_city64) \
902 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_city64_stat) \
903 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_city64) \
904 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_city64_stat) \
905 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_city64) \
906 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_city64_stat) \
907 CDSUNIT_DECLARE_FeldmanHashMap_city64_RCU_Signal
909 #define CDSUNIT_TEST_FeldmanHashMap_city64 \
910 CPPUNIT_TEST(FeldmanHashMap_hp_city64) \
911 CPPUNIT_TEST(FeldmanHashMap_hp_city64_stat) \
912 CPPUNIT_TEST(FeldmanHashMap_dhp_city64) \
913 CPPUNIT_TEST(FeldmanHashMap_dhp_city64_stat) \
914 CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_city64) \
915 CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_city64_stat) \
916 CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_city64) \
917 CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_city64_stat) \
918 CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_city64) \
919 CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_city64_stat) \
920 CDSUNIT_TEST_FeldmanHashMap_city64_RCU_Signal
922 #undef CDSUNIT_DECLARE_FeldmanHashMap_city128
923 #undef CDSUNIT_DECLARE_FeldmanHashMap_city128_RCU_Signal
924 #undef CDSUNIT_TEST_FeldmanHashMap_city128
925 #undef CDSUNIT_TEST_FeldmanHashMap_city128_RCU_Signal
927 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
928 # define CDSUNIT_DECLARE_FeldmanHashMap_city128_RCU_Signal \
929 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_city128) \
930 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_city128_stat) \
931 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_city128) \
932 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_city128_stat) \
934 # define CDSUNIT_TEST_FeldmanHashMap_city128_RCU_Signal \
935 CPPUNIT_TEST(FeldmanHashMap_rcu_shb_city128) \
936 CPPUNIT_TEST(FeldmanHashMap_rcu_shb_city128_stat) \
937 CPPUNIT_TEST(FeldmanHashMap_rcu_sht_city128) \
938 CPPUNIT_TEST(FeldmanHashMap_rcu_sht_city128_stat) \
941 # define CDSUNIT_DECLARE_FeldmanHashMap_city128_RCU_Signal
942 # define CDSUNIT_TEST_FeldmanHashMap_city128_RCU_Signal
946 #define CDSUNIT_DECLARE_FeldmanHashMap_city128 \
947 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_city128) \
948 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_city128_stat) \
949 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_city128) \
950 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_city128_stat) \
951 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_city128) \
952 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_city128_stat) \
953 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_city128) \
954 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_city128_stat) \
955 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_city128) \
956 TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_city128_stat) \
957 CDSUNIT_DECLARE_FeldmanHashMap_city128_RCU_Signal
959 #define CDSUNIT_TEST_FeldmanHashMap_city128 \
960 CPPUNIT_TEST(FeldmanHashMap_hp_city128) \
961 CPPUNIT_TEST(FeldmanHashMap_hp_city128_stat) \
962 CPPUNIT_TEST(FeldmanHashMap_dhp_city128) \
963 CPPUNIT_TEST(FeldmanHashMap_dhp_city128_stat) \
964 CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_city128) \
965 CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_city128_stat) \
966 CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_city128) \
967 CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_city128_stat) \
968 CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_city128) \
969 CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_city128_stat) \
970 CDSUNIT_TEST_FeldmanHashMap_city128_RCU_Signal
972 #define CDSUNIT_DECLARE_FeldmanHashMap_city \
973 CDSUNIT_DECLARE_FeldmanHashMap_city64 \
974 CDSUNIT_DECLARE_FeldmanHashMap_city128
976 #define CDSUNIT_TEST_FeldmanHashMap_city \
977 CDSUNIT_TEST_FeldmanHashMap_city64 \
978 CDSUNIT_TEST_FeldmanHashMap_city128
981 # define CDSUNIT_DECLARE_FeldmanHashMap_city
982 # define CDSUNIT_TEST_FeldmanHashMap_city
983 #endif // #if CDS_BUILD_BITS == 64
985 #undef CDSUNIT_DECLARE_FeldmanHashMap
986 #undef CDSUNIT_TEST_FeldmanHashMap
988 #define CDSUNIT_DECLARE_FeldmanHashMap \
989 CDSUNIT_DECLARE_FeldmanHashMap_fixed \
990 CDSUNIT_DECLARE_FeldmanHashMap_stdhash \
991 CDSUNIT_DECLARE_FeldmanHashMap_city \
993 #define CDSUNIT_TEST_FeldmanHashMap \
994 CDSUNIT_TEST_FeldmanHashMap_fixed \
995 CDSUNIT_TEST_FeldmanHashMap_stdhash \
996 CDSUNIT_TEST_FeldmanHashMap_city