3 #define CDSUNIT_DECLARE_StdMap \
4 CDSUNIT_DECLARE_TEST(StdMap_Spin) \
5 CDSUNIT_DECLARE_TEST(StdHashMap_Spin)
6 #define CDSUNIT_DEFINE_StdMap(IMPL, C) \
7 TEST_MAP(IMPL, C, StdMap_Spin) \
8 TEST_MAP(IMPL, C, StdHashMap_Spin)
9 #define CDSUNIT_TEST_StdMap \
10 CPPUNIT_TEST(StdMap_Spin) \
11 CPPUNIT_TEST(StdHashMap_Spin) \
14 // **************************************************************************************
17 #undef CDSUNIT_DECLARE_MichaelMap_RCU_signal
18 #undef CDSUNIT_TEST_MichaelMap_RCU_signal
19 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
20 # define CDSUNIT_DECLARE_MichaelMap_RCU_signal \
21 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_SHB_cmp_stdAlloc) \
22 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_SHB_cmp_stdAlloc) \
23 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_SHB_less_michaelAlloc) \
24 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_SHT_cmp_stdAlloc) \
25 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_SHT_less_michaelAlloc) \
26 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_SHB_cmp_stdAlloc) \
27 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_SHB_less_michaelAlloc) \
28 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_SHT_cmp_stdAlloc) \
29 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_SHT_less_michaelAlloc)
31 # define CDSUNIT_TEST_MichaelMap_RCU_signal \
32 CPPUNIT_TEST(MichaelMap_RCU_SHB_cmp_stdAlloc) \
33 CPPUNIT_TEST(MichaelMap_RCU_SHB_less_michaelAlloc) \
34 CPPUNIT_TEST(MichaelMap_RCU_SHT_cmp_stdAlloc) \
35 CPPUNIT_TEST(MichaelMap_RCU_SHT_less_michaelAlloc) \
36 CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHB_cmp_stdAlloc) \
37 CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHB_less_michaelAlloc) \
38 CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHT_cmp_stdAlloc) \
39 CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHT_less_michaelAlloc)
42 # define CDSUNIT_DECLARE_MichaelMap_RCU_signal
43 # define CDSUNIT_TEST_MichaelMap_RCU_signal
46 #undef CDSUNIT_DECLARE_MichaelMap
47 #define CDSUNIT_DECLARE_MichaelMap \
48 TEST_CASE(tag_MichaelHashMap, MichaelMap_HP_cmp_stdAlloc) \
49 TEST_CASE(tag_MichaelHashMap, MichaelMap_HP_less_michaelAlloc) \
50 TEST_CASE(tag_MichaelHashMap, MichaelMap_DHP_cmp_stdAlloc) \
51 TEST_CASE(tag_MichaelHashMap, MichaelMap_DHP_less_michaelAlloc) \
52 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPI_cmp_stdAlloc) \
53 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPI_less_michaelAlloc) \
54 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPB_cmp_stdAlloc) \
55 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPB_less_michaelAlloc) \
56 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPT_cmp_stdAlloc) \
57 TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPT_less_michaelAlloc) \
58 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_HP_cmp_stdAlloc) \
59 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_HP_less_michaelAlloc) \
60 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_DHP_cmp_stdAlloc) \
61 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_DHP_less_michaelAlloc) \
62 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPI_cmp_stdAlloc) \
63 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPI_less_michaelAlloc) \
64 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPB_cmp_stdAlloc) \
65 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPB_less_michaelAlloc) \
66 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPT_cmp_stdAlloc) \
67 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPT_less_michaelAlloc)\
68 CDSUNIT_DECLARE_MichaelMap_RCU_signal
70 #undef CDSUNIT_TEST_MichaelMap
71 #define CDSUNIT_TEST_MichaelMap \
72 CPPUNIT_TEST(MichaelMap_HP_cmp_stdAlloc) \
73 CPPUNIT_TEST(MichaelMap_HP_less_michaelAlloc) \
74 CPPUNIT_TEST(MichaelMap_DHP_cmp_stdAlloc) \
75 CPPUNIT_TEST(MichaelMap_DHP_less_michaelAlloc) \
76 CPPUNIT_TEST(MichaelMap_RCU_GPI_cmp_stdAlloc) \
77 CPPUNIT_TEST(MichaelMap_RCU_GPI_less_michaelAlloc) \
78 CPPUNIT_TEST(MichaelMap_RCU_GPB_cmp_stdAlloc) \
79 CPPUNIT_TEST(MichaelMap_RCU_GPB_less_michaelAlloc) \
80 CPPUNIT_TEST(MichaelMap_RCU_GPT_cmp_stdAlloc) \
81 CPPUNIT_TEST(MichaelMap_RCU_GPT_less_michaelAlloc) \
82 CPPUNIT_TEST(MichaelMap_Lazy_HP_cmp_stdAlloc) \
83 CPPUNIT_TEST(MichaelMap_Lazy_HP_less_michaelAlloc) \
84 CPPUNIT_TEST(MichaelMap_Lazy_DHP_cmp_stdAlloc) \
85 CPPUNIT_TEST(MichaelMap_Lazy_DHP_less_michaelAlloc) \
86 CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPI_cmp_stdAlloc) \
87 CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPI_less_michaelAlloc) \
88 CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPB_cmp_stdAlloc) \
89 CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPB_less_michaelAlloc) \
90 CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPT_cmp_stdAlloc) \
91 CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPT_less_michaelAlloc)\
92 CDSUNIT_TEST_MichaelMap_RCU_signal
94 #undef CDSUNIT_DECLARE_MichaelMap_nogc
95 #define CDSUNIT_DECLARE_MichaelMap_nogc \
96 TEST_CASE(tag_MichaelHashMap, MichaelMap_NOGC_cmp_stdAlloc) \
97 TEST_CASE(tag_MichaelHashMap, MichaelMap_NOGC_less_michaelAlloc) \
98 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_NOGC_cmp_stdAlloc) \
99 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_NOGC_unord_stdAlloc) \
100 TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_NOGC_less_michaelAlloc)
102 #undef CDSUNIT_TEST_MichaelMap_nogc
103 #define CDSUNIT_TEST_MichaelMap_nogc \
104 CPPUNIT_TEST(MichaelMap_NOGC_cmp_stdAlloc) \
105 CPPUNIT_TEST(MichaelMap_NOGC_less_michaelAlloc) \
106 CPPUNIT_TEST(MichaelMap_Lazy_NOGC_cmp_stdAlloc) \
107 CPPUNIT_TEST(MichaelMap_Lazy_NOGC_unord_stdAlloc) \
108 CPPUNIT_TEST(MichaelMap_Lazy_NOGC_less_michaelAlloc) \
111 // **************************************************************************************
114 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
115 # define CDSUNIT_DECLARE_SplitList_RCU_signal \
116 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_dyn_cmp)\
117 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_dyn_cmp_stat)\
118 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_st_cmp)\
119 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_dyn_less)\
120 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_st_less)\
121 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_st_less_stat)\
122 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_dyn_cmp)\
123 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_dyn_cmp_stat)\
124 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_st_cmp)\
125 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_dyn_less)\
126 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_st_less)\
127 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_st_less_stat)\
128 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_dyn_cmp)\
129 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\
130 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_st_cmp)\
131 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_dyn_less)\
132 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_st_less)\
133 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_st_less_stat)\
134 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_dyn_cmp)\
135 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\
136 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_st_cmp)\
137 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_dyn_less)\
138 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_st_less)\
139 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_st_less_stat)
141 # define CDSUNIT_TEST_SplitList_RCU_signal \
142 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp)\
143 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp_stat)\
144 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_cmp)\
145 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_less)\
146 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_less)\
147 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_less_stat)\
148 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_cmp)\
149 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_cmp_stat)\
150 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_cmp)\
151 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_less)\
152 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_less)\
153 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_less_stat)\
154 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp)\
155 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\
156 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_cmp)\
157 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_less)\
158 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_less)\
159 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_less_stat)\
160 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp)\
161 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\
162 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_cmp)\
163 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_less)\
164 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_less)\
165 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_less_stat)
168 # define CDSUNIT_DECLARE_SplitList_RCU_signal
169 # define CDSUNIT_TEST_SplitList_RCU_signal
172 #define CDSUNIT_DECLARE_SplitList \
173 TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_dyn_cmp)\
174 TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_dyn_cmp_stat)\
175 TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_st_cmp)\
176 TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_dyn_less)\
177 TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_st_less)\
178 TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_st_less_stat)\
179 TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_dyn_cmp)\
180 TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_dyn_cmp_stat)\
181 TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_st_cmp)\
182 TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_dyn_less)\
183 TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_st_less)\
184 TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_st_less_stat)\
185 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_dyn_cmp)\
186 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
187 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_st_cmp)\
188 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_dyn_less)\
189 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_st_less)\
190 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_st_less_stat)\
191 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_dyn_cmp)\
192 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
193 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_st_cmp)\
194 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_dyn_less)\
195 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_st_less)\
196 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_st_less_stat)\
197 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_dyn_cmp)\
198 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
199 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_st_cmp)\
200 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_dyn_less)\
201 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_st_less)\
202 TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_st_less_stat)\
203 TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_dyn_cmp)\
204 TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_dyn_cmp_stat)\
205 TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_st_cmp)\
206 TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_dyn_less)\
207 TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_st_less)\
208 TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_st_less_stat)\
209 TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_dyn_cmp)\
210 TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_dyn_cmp_stat)\
211 TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_st_cmp)\
212 TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_dyn_less)\
213 TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_st_less)\
214 TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_st_less_stat)\
215 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_dyn_cmp)\
216 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
217 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_st_cmp)\
218 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_dyn_less)\
219 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_st_less)\
220 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_st_less_stat)\
221 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_dyn_cmp)\
222 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
223 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_st_cmp)\
224 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_dyn_less)\
225 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_st_less)\
226 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_st_less_stat)\
227 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_dyn_cmp)\
228 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
229 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_st_cmp)\
230 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_dyn_less)\
231 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_st_less)\
232 TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_st_less_stat)\
233 CDSUNIT_DECLARE_SplitList_RCU_signal
235 #define CDSUNIT_TEST_SplitList \
236 CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp)\
237 CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp_stat)\
238 CPPUNIT_TEST(SplitList_Michael_HP_st_cmp)\
239 CPPUNIT_TEST(SplitList_Michael_HP_dyn_less)\
240 CPPUNIT_TEST(SplitList_Michael_HP_st_less)\
241 CPPUNIT_TEST(SplitList_Michael_HP_st_less_stat)\
242 CPPUNIT_TEST(SplitList_Michael_DHP_dyn_cmp)\
243 CPPUNIT_TEST(SplitList_Michael_DHP_dyn_cmp_stat)\
244 CPPUNIT_TEST(SplitList_Michael_DHP_st_cmp)\
245 CPPUNIT_TEST(SplitList_Michael_DHP_dyn_less)\
246 CPPUNIT_TEST(SplitList_Michael_DHP_st_less)\
247 CPPUNIT_TEST(SplitList_Michael_DHP_st_less_stat)\
248 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp)\
249 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
250 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_cmp)\
251 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_less)\
252 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less)\
253 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less_stat)\
254 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp)\
255 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
256 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_cmp)\
257 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_less)\
258 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less)\
259 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less_stat)\
260 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp)\
261 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
262 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_cmp)\
263 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_less)\
264 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less)\
265 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less_stat)\
266 CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp)\
267 CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp_stat)\
268 CPPUNIT_TEST(SplitList_Lazy_HP_st_cmp)\
269 CPPUNIT_TEST(SplitList_Lazy_HP_dyn_less)\
270 CPPUNIT_TEST(SplitList_Lazy_HP_st_less)\
271 CPPUNIT_TEST(SplitList_Lazy_HP_st_less_stat)\
272 CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_cmp)\
273 CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_cmp_stat)\
274 CPPUNIT_TEST(SplitList_Lazy_DHP_st_cmp)\
275 CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_less)\
276 CPPUNIT_TEST(SplitList_Lazy_DHP_st_less)\
277 CPPUNIT_TEST(SplitList_Lazy_DHP_st_less_stat)\
278 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp)\
279 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
280 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_cmp)\
281 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_less)\
282 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less)\
283 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less_stat)\
284 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp)\
285 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
286 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_cmp)\
287 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_less)\
288 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less)\
289 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less_stat)\
290 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp)\
291 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
292 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_cmp)\
293 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_less)\
294 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less)\
295 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less_stat)\
296 CDSUNIT_TEST_SplitList_RCU_signal
298 #define CDSUNIT_DECLARE_SplitList_nogc \
299 TEST_CASE(tag_SplitListMap, SplitList_Michael_NOGC_dyn_cmp)\
300 TEST_CASE(tag_SplitListMap, SplitList_Michael_NOGC_st_cmp)\
301 TEST_CASE(tag_SplitListMap, SplitList_Michael_NOGC_dyn_less)\
302 TEST_CASE(tag_SplitListMap, SplitList_Michael_NOGC_st_less)\
303 TEST_CASE(tag_SplitListMap, SplitList_Lazy_NOGC_dyn_cmp)\
304 TEST_CASE(tag_SplitListMap, SplitList_Lazy_NOGC_st_cmp)\
305 TEST_CASE(tag_SplitListMap, SplitList_Lazy_NOGC_dyn_less)\
306 TEST_CASE(tag_SplitListMap, SplitList_Lazy_NOGC_st_less)
308 #define CDSUNIT_TEST_SplitList_nogc \
309 CPPUNIT_TEST(SplitList_Michael_NOGC_dyn_cmp)\
310 CPPUNIT_TEST(SplitList_Michael_NOGC_st_cmp)\
311 CPPUNIT_TEST(SplitList_Michael_NOGC_dyn_less)\
312 CPPUNIT_TEST(SplitList_Michael_NOGC_st_less)\
313 CPPUNIT_TEST(SplitList_Lazy_NOGC_dyn_cmp)\
314 CPPUNIT_TEST(SplitList_Lazy_NOGC_st_cmp)\
315 CPPUNIT_TEST(SplitList_Lazy_NOGC_dyn_less)\
316 CPPUNIT_TEST(SplitList_Lazy_NOGC_st_less)
319 // **************************************************************************************
322 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
323 # define CDSUNIT_DECLARE_SkipListMap_RCU_signal \
324 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_shb_less_pascal)\
325 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_shb_cmp_pascal_stat)\
326 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_shb_less_xorshift)\
327 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_shb_cmp_xorshift_stat)\
328 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_sht_less_pascal)\
329 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_sht_cmp_pascal_stat)\
330 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_sht_less_xorshift)\
331 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_sht_cmp_xorshift_stat)
333 # define CDSUNIT_TEST_SkipListMap_RCU_signal \
334 CPPUNIT_TEST(SkipListMap_rcu_shb_less_pascal)\
335 CPPUNIT_TEST(SkipListMap_rcu_shb_cmp_pascal_stat)\
336 CPPUNIT_TEST(SkipListMap_rcu_shb_less_xorshift)\
337 CPPUNIT_TEST(SkipListMap_rcu_shb_cmp_xorshift_stat)\
338 CPPUNIT_TEST(SkipListMap_rcu_sht_less_pascal)\
339 CPPUNIT_TEST(SkipListMap_rcu_sht_cmp_pascal_stat)\
340 CPPUNIT_TEST(SkipListMap_rcu_sht_less_xorshift)\
341 CPPUNIT_TEST(SkipListMap_rcu_sht_cmp_xorshift_stat)
344 # define CDSUNIT_DECLARE_SkipListMap_RCU_signal
345 # define CDSUNIT_TEST_SkipListMap_RCU_signal
348 #define CDSUNIT_DECLARE_SkipListMap \
349 TEST_CASE(tag_SkipListMap, SkipListMap_hp_less_pascal)\
350 TEST_CASE(tag_SkipListMap, SkipListMap_hp_cmp_pascal_stat)\
351 TEST_CASE(tag_SkipListMap, SkipListMap_hp_less_xorshift)\
352 TEST_CASE(tag_SkipListMap, SkipListMap_hp_cmp_xorshift_stat)\
353 TEST_CASE(tag_SkipListMap, SkipListMap_dhp_less_pascal)\
354 TEST_CASE(tag_SkipListMap, SkipListMap_dhp_cmp_pascal_stat)\
355 TEST_CASE(tag_SkipListMap, SkipListMap_dhp_less_xorshift)\
356 TEST_CASE(tag_SkipListMap, SkipListMap_dhp_cmp_xorshift_stat)\
357 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpi_less_pascal)\
358 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpi_cmp_pascal_stat)\
359 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpi_less_xorshift)\
360 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpi_cmp_xorshift_stat)\
361 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpb_less_pascal)\
362 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpb_cmp_pascal_stat)\
363 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpb_less_xorshift)\
364 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpb_cmp_xorshift_stat)\
365 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpt_less_pascal)\
366 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpt_cmp_pascal_stat)\
367 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpt_less_xorshift)\
368 TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpt_cmp_xorshift_stat)\
369 CDSUNIT_DECLARE_SkipListMap_RCU_signal
371 #define CDSUNIT_TEST_SkipListMap \
372 CPPUNIT_TEST(SkipListMap_hp_less_pascal)\
373 CPPUNIT_TEST(SkipListMap_hp_cmp_pascal_stat)\
374 CPPUNIT_TEST(SkipListMap_hp_less_xorshift)\
375 CPPUNIT_TEST(SkipListMap_hp_cmp_xorshift_stat)\
376 CPPUNIT_TEST(SkipListMap_dhp_less_pascal)\
377 CPPUNIT_TEST(SkipListMap_dhp_cmp_pascal_stat)\
378 CPPUNIT_TEST(SkipListMap_dhp_less_xorshift)\
379 CPPUNIT_TEST(SkipListMap_dhp_cmp_xorshift_stat)\
380 CPPUNIT_TEST(SkipListMap_rcu_gpi_less_pascal)\
381 CPPUNIT_TEST(SkipListMap_rcu_gpi_cmp_pascal_stat)\
382 CPPUNIT_TEST(SkipListMap_rcu_gpi_less_xorshift)\
383 CPPUNIT_TEST(SkipListMap_rcu_gpi_cmp_xorshift_stat)\
384 CPPUNIT_TEST(SkipListMap_rcu_gpb_less_pascal)\
385 CPPUNIT_TEST(SkipListMap_rcu_gpb_cmp_pascal_stat)\
386 CPPUNIT_TEST(SkipListMap_rcu_gpb_less_xorshift)\
387 CPPUNIT_TEST(SkipListMap_rcu_gpb_cmp_xorshift_stat)\
388 CPPUNIT_TEST(SkipListMap_rcu_gpt_less_pascal)\
389 CPPUNIT_TEST(SkipListMap_rcu_gpt_cmp_pascal_stat)\
390 CPPUNIT_TEST(SkipListMap_rcu_gpt_less_xorshift)\
391 CPPUNIT_TEST(SkipListMap_rcu_gpt_cmp_xorshift_stat)\
392 CDSUNIT_TEST_SkipListMap_RCU_signal
394 #define CDSUNIT_DECLARE_SkipListMap_nogc \
395 TEST_CASE(tag_SkipListMap, SkipListMap_nogc_less_pascal)\
396 TEST_CASE(tag_SkipListMap, SkipListMap_nogc_cmp_pascal_stat)\
397 TEST_CASE(tag_SkipListMap, SkipListMap_nogc_less_xorshift)\
398 TEST_CASE(tag_SkipListMap, SkipListMap_nogc_cmp_xorshift_stat)
400 #define CDSUNIT_TEST_SkipListMap_nogc \
401 CPPUNIT_TEST(SkipListMap_nogc_less_pascal)\
402 CPPUNIT_TEST(SkipListMap_nogc_cmp_pascal_stat)\
403 CPPUNIT_TEST(SkipListMap_nogc_less_xorshift)\
404 CPPUNIT_TEST(SkipListMap_nogc_cmp_xorshift_stat)
407 // **************************************************************************************
410 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
411 # define CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal \
412 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_shb)\
413 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_shb_stat)\
414 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_sht)\
415 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_sht_stat)
417 # define CDSUNIT_TEST_EllenBinTreeMap_RCU_signal \
418 CPPUNIT_TEST(EllenBinTreeMap_rcu_shb)\
419 CPPUNIT_TEST(EllenBinTreeMap_rcu_shb_stat)\
420 CPPUNIT_TEST(EllenBinTreeMap_rcu_sht)\
421 CPPUNIT_TEST(EllenBinTreeMap_rcu_sht_stat)
423 # define CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal
424 # define CDSUNIT_TEST_EllenBinTreeMap_RCU_signal
427 #define CDSUNIT_DECLARE_EllenBinTreeMap \
428 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_hp)\
429 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_hp_yield)\
430 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_hp_stat)\
431 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_dhp)\
432 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_dhp_yield)\
433 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_dhp_stat)\
434 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpi)\
435 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpi_stat)\
436 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpb)\
437 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpb_yield)\
438 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpb_stat)\
439 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpt)\
440 TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpt_stat)\
441 CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal
443 #define CDSUNIT_TEST_EllenBinTreeMap \
444 CPPUNIT_TEST(EllenBinTreeMap_hp)\
445 CPPUNIT_TEST(EllenBinTreeMap_hp_yield)\
446 CPPUNIT_TEST(EllenBinTreeMap_hp_stat)\
447 CPPUNIT_TEST(EllenBinTreeMap_dhp)\
448 CPPUNIT_TEST(EllenBinTreeMap_dhp_yield)\
449 CPPUNIT_TEST(EllenBinTreeMap_dhp_stat)\
450 CPPUNIT_TEST(EllenBinTreeMap_rcu_gpi)\
451 CPPUNIT_TEST(EllenBinTreeMap_rcu_gpi_stat)\
452 CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb)\
453 CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb_yield)\
454 CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb_stat)\
455 CPPUNIT_TEST(EllenBinTreeMap_rcu_gpt)\
456 CPPUNIT_TEST(EllenBinTreeMap_rcu_gpt_stat)\
457 CDSUNIT_TEST_EllenBinTreeMap_RCU_signal
460 // **************************************************************************************
463 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
464 # define CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal \
465 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_shb_less) \
466 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_sht_less) \
467 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_shb_cmp_stat) \
468 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_sht_cmp_stat) \
469 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_simple) \
470 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple) \
471 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat) \
472 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat) \
473 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_lazy) \
474 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \
475 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat) \
476 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat) \
477 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_bounded) \
478 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \
479 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat) \
480 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat) \
482 # define CDSUNIT_DEFINE_BronsonAVLTreeMap_RCU_signal(IMPL, C) \
483 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_shb_less) \
484 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_sht_less) \
485 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_shb_cmp_stat) \
486 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_sht_cmp_stat) \
487 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_shb_less_pool_simple) \
488 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_sht_less_pool_simple) \
489 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat) \
490 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat) \
491 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_shb_less_pool_lazy) \
492 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \
493 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat) \
494 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat) \
495 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_shb_less_pool_bounded) \
496 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \
497 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat) \
498 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat) \
500 # define CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal \
501 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less) \
502 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less) \
503 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_cmp_stat) \
504 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_cmp_stat) \
505 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_simple) \
506 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat) \
507 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple) \
508 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat) \
509 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_lazy) \
510 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat) \
511 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \
512 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat) \
513 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_bounded) \
514 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat) \
515 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \
516 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat) \
519 # define CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal
520 # define CDSUNIT_DEFINE_BronsonAVLTreeMap_RCU_signal(IMPL, C)
521 # define CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal
524 #define CDSUNIT_DECLARE_BronsonAVLTreeMap \
525 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpi_less)\
526 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpb_less)\
527 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpt_less)\
528 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpi_cmp_stat)\
529 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpb_cmp_stat)\
530 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpt_cmp_stat)\
531 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_simple)\
532 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\
533 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\
534 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat)\
535 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat)\
536 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat)\
537 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy)\
538 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\
539 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\
540 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat)\
541 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat)\
542 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat)\
543 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded)\
544 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\
545 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\
546 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded_stat)\
547 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded_stat)\
548 CDSUNIT_DECLARE_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat)\
549 CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal
551 #define CDSUNIT_DEFINE_BronsonAVLTreeMap( IMPL, C ) \
552 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpi_less)\
553 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpb_less)\
554 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpt_less)\
555 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpi_cmp_stat)\
556 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpb_cmp_stat)\
557 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpt_cmp_stat)\
558 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpi_less_pool_simple)\
559 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\
560 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\
561 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat)\
562 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat)\
563 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat)\
564 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpi_less_pool_lazy)\
565 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\
566 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\
567 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat)\
568 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat)\
569 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat)\
570 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpi_less_pool_bounded)\
571 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\
572 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\
573 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpi_less_pool_bounded_stat)\
574 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpb_less_pool_bounded_stat)\
575 TEST_MAP_NOLF_EXTRACT(IMPL, C, BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat)\
576 CDSUNIT_DEFINE_BronsonAVLTreeMap_RCU_signal( IMPL, C )
578 #define CDSUNIT_TEST_BronsonAVLTreeMap \
579 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less)\
580 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_cmp_stat)\
581 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less)\
582 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_cmp_stat)\
583 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less)\
584 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_cmp_stat)\
585 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_simple)\
586 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat)\
587 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\
588 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat)\
589 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\
590 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat)\
591 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy)\
592 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat)\
593 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\
594 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat)\
595 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\
596 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat)\
597 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded)\
598 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded_stat)\
599 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\
600 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded_stat)\
601 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\
602 CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat)\
603 CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal
606 // **************************************************************************************
609 #define CDSUNIT_DECLARE_StripedMap_common \
610 CDSUNIT_DECLARE_TEST(StripedMap_list) \
611 CDSUNIT_DECLARE_TEST(StripedMap_map) \
612 CDSUNIT_DECLARE_TEST(StripedMap_hashmap) \
613 CDSUNIT_DECLARE_TEST(StripedMap_boost_unordered_map)
615 #define CDSUNIT_DEFINE_StripedMap_common( IMPL, C ) \
616 TEST_MAP(IMPL, C, StripedMap_list) \
617 TEST_MAP(IMPL, C, StripedMap_map) \
618 TEST_MAP(IMPL, C, StripedMap_hashmap) \
619 TEST_MAP(IMPL, C, StripedMap_boost_unordered_map)
621 #define CDSUNIT_TEST_StripedMap_common \
622 CPPUNIT_TEST(StripedMap_list) \
623 CPPUNIT_TEST(StripedMap_map) \
624 CPPUNIT_TEST(StripedMap_hashmap) \
625 CPPUNIT_TEST(StripedMap_boost_unordered_map)
627 #if BOOST_VERSION >= 104800
628 # define CDSUNIT_DECLARE_StripedMap_boost_container \
629 CDSUNIT_DECLARE_TEST(StripedMap_boost_list) \
630 CDSUNIT_DECLARE_TEST(StripedMap_slist) \
631 CDSUNIT_DECLARE_TEST(StripedMap_boost_map)
632 # define CDSUNIT_DEFINE_StripedMap_boost_container( IMPL, C ) \
633 TEST_MAP(IMPL, C, StripedMap_boost_list) \
634 TEST_MAP(IMPL, C, StripedMap_slist) \
635 TEST_MAP(IMPL, C, StripedMap_boost_map)
636 # define CDSUNIT_TEST_StripedMap_boost_container \
637 CPPUNIT_TEST(StripedMap_boost_list) \
638 CPPUNIT_TEST(StripedMap_slist) \
639 CPPUNIT_TEST(StripedMap_boost_map)
641 # define CDSUNIT_DECLARE_StripedMap_boost_container
642 # define CDSUNIT_DEFINE_StripedMap_boost_container( IMPL, C )
643 # define CDSUNIT_TEST_StripedMap_boost_container
646 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
647 # define CDSUNIT_DECLARE_StripedMap_boost_flat_container \
648 CDSUNIT_DECLARE_TEST(StripedMap_boost_flat_map)
649 # define CDSUNIT_DEFINE_StripedMap_boost_flat_container( IMPL, C ) \
650 TEST_MAP(IMPL, C, StripedMap_boost_flat_map)
651 # define CDSUNIT_TEST_StripedMap_boost_flat_container \
652 CPPUNIT_TEST(StripedMap_boost_flat_map)
654 # define CDSUNIT_DECLARE_StripedMap_boost_flat_container
655 # define CDSUNIT_DEFINE_StripedMap_boost_flat_container( IMPL, C )
656 # define CDSUNIT_TEST_StripedMap_boost_flat_container
659 #define CDSUNIT_DECLARE_StripedMap \
660 CDSUNIT_DECLARE_StripedMap_common \
661 CDSUNIT_DECLARE_StripedMap_boost_container \
662 CDSUNIT_DECLARE_StripedMap_boost_flat_container
663 #define CDSUNIT_DEFINE_StripedMap( IMPL, C ) \
664 CDSUNIT_DEFINE_StripedMap_common( IMPL, C ) \
665 CDSUNIT_DEFINE_StripedMap_boost_container( IMPL, C ) \
666 CDSUNIT_DEFINE_StripedMap_boost_flat_container( IMPL, C )
667 #define CDSUNIT_TEST_StripedMap \
668 CDSUNIT_TEST_StripedMap_common \
669 CDSUNIT_TEST_StripedMap_boost_container \
670 CDSUNIT_TEST_StripedMap_boost_flat_container
673 // **************************************************************************************
676 #define CDSUNIT_DECLARE_RefinableMap_common \
677 CDSUNIT_DECLARE_TEST(RefinableMap_list) \
678 CDSUNIT_DECLARE_TEST(RefinableMap_map) \
679 CDSUNIT_DECLARE_TEST(RefinableMap_hashmap) \
680 CDSUNIT_DECLARE_TEST(RefinableMap_boost_unordered_map)
681 #define CDSUNIT_DEFINE_RefinableMap_common( IMPL, C ) \
682 TEST_MAP(IMPL, C, RefinableMap_list) \
683 TEST_MAP(IMPL, C, RefinableMap_map) \
684 TEST_MAP(IMPL, C, RefinableMap_hashmap) \
685 TEST_MAP(IMPL, C, RefinableMap_boost_unordered_map)
686 #define CDSUNIT_TEST_RefinableMap_common \
687 CPPUNIT_TEST(RefinableMap_list) \
688 CPPUNIT_TEST(RefinableMap_map) \
689 CPPUNIT_TEST(RefinableMap_hashmap) \
690 CPPUNIT_TEST(RefinableMap_boost_unordered_map)
692 #if BOOST_VERSION >= 104800
693 # define CDSUNIT_DECLARE_RefinableMap_boost_container \
694 CDSUNIT_DECLARE_TEST(RefinableMap_boost_list) \
695 CDSUNIT_DECLARE_TEST(RefinableMap_slist) \
696 CDSUNIT_DECLARE_TEST(RefinableMap_boost_map)
697 # define CDSUNIT_DEFINE_RefinableMap_boost_container( IMPL, C ) \
698 TEST_MAP(IMPL, C, RefinableMap_boost_list) \
699 TEST_MAP(IMPL, C, RefinableMap_slist) \
700 TEST_MAP(IMPL, C, RefinableMap_boost_map)
701 # define CDSUNIT_TEST_RefinableMap_boost_container \
702 CPPUNIT_TEST(RefinableMap_boost_list) \
703 CPPUNIT_TEST(RefinableMap_slist) \
704 CPPUNIT_TEST(RefinableMap_boost_map)
706 # define CDSUNIT_DECLARE_RefinableMap_boost_container
707 # define CDSUNIT_DEFINE_RefinableMap_boost_container( IMPL, C )
708 # define CDSUNIT_TEST_RefinableMap_boost_container
711 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
712 # define CDSUNIT_DECLARE_RefinableMap_boost_flat_container \
713 CDSUNIT_DECLARE_TEST(RefinableMap_boost_flat_map)
714 # define CDSUNIT_DEFINE_RefinableMap_boost_flat_container( IMPL, C ) \
715 TEST_MAP( IMPL, C, RefinableMap_boost_flat_map)
716 # define CDSUNIT_TEST_RefinableMap_boost_flat_container \
717 CPPUNIT_TEST(RefinableMap_boost_flat_map)
719 # define CDSUNIT_DECLARE_RefinableMap_boost_flat_container
720 # define CDSUNIT_DEFINE_RefinableMap_boost_flat_container( IMPL, C )
721 # define CDSUNIT_TEST_RefinableMap_boost_flat_container
724 #define CDSUNIT_DECLARE_RefinableMap \
725 CDSUNIT_DECLARE_RefinableMap_common \
726 CDSUNIT_DECLARE_RefinableMap_boost_container \
727 CDSUNIT_DECLARE_RefinableMap_boost_flat_container
728 #define CDSUNIT_DEFINE_RefinableMap( IMPL, C ) \
729 CDSUNIT_DEFINE_RefinableMap_common( IMPL, C ) \
730 CDSUNIT_DEFINE_RefinableMap_boost_container( IMPL, C ) \
731 CDSUNIT_DEFINE_RefinableMap_boost_flat_container( IMPL, C )
732 #define CDSUNIT_TEST_RefinableMap \
733 CDSUNIT_TEST_RefinableMap_common \
734 CDSUNIT_TEST_RefinableMap_boost_container \
735 CDSUNIT_TEST_RefinableMap_boost_flat_container
738 // **************************************************************************************
741 #define CDSUNIT_DECLARE_CuckooMap \
742 CDSUNIT_DECLARE_TEST(CuckooStripedMap_list_unord)\
743 CDSUNIT_DECLARE_TEST(CuckooStripedMap_list_ord)\
744 CDSUNIT_DECLARE_TEST(CuckooStripedMap_vector_unord)\
745 CDSUNIT_DECLARE_TEST(CuckooStripedMap_vector_ord)\
746 CDSUNIT_DECLARE_TEST(CuckooStripedMap_list_unord_stat)\
747 CDSUNIT_DECLARE_TEST(CuckooStripedMap_list_ord_stat)\
748 CDSUNIT_DECLARE_TEST(CuckooStripedMap_vector_unord_stat)\
749 CDSUNIT_DECLARE_TEST(CuckooStripedMap_vector_ord_stat)\
750 CDSUNIT_DECLARE_TEST(CuckooRefinableMap_list_unord)\
751 CDSUNIT_DECLARE_TEST(CuckooRefinableMap_list_ord)\
752 CDSUNIT_DECLARE_TEST(CuckooRefinableMap_vector_unord)\
753 CDSUNIT_DECLARE_TEST(CuckooRefinableMap_vector_ord) \
754 CDSUNIT_DECLARE_TEST(CuckooRefinableMap_list_unord_stat)\
755 CDSUNIT_DECLARE_TEST(CuckooRefinableMap_list_ord_stat)\
756 CDSUNIT_DECLARE_TEST(CuckooRefinableMap_vector_unord_stat)\
757 CDSUNIT_DECLARE_TEST(CuckooRefinableMap_vector_ord_stat) \
758 CDSUNIT_DECLARE_TEST(CuckooStripedMap_list_unord_storehash)\
759 CDSUNIT_DECLARE_TEST(CuckooStripedMap_list_ord_storehash)\
760 CDSUNIT_DECLARE_TEST(CuckooStripedMap_vector_unord_storehash)\
761 CDSUNIT_DECLARE_TEST(CuckooStripedMap_vector_ord_storehash)\
762 CDSUNIT_DECLARE_TEST(CuckooRefinableMap_list_unord_storehash)\
763 CDSUNIT_DECLARE_TEST(CuckooRefinableMap_list_ord_storehash)\
764 CDSUNIT_DECLARE_TEST(CuckooRefinableMap_vector_unord_storehash)\
765 CDSUNIT_DECLARE_TEST(CuckooRefinableMap_vector_ord_storehash)
767 #define CDSUNIT_DEFINE_CuckooMap( IMPL, C ) \
768 TEST_MAP(IMPL, C, CuckooStripedMap_list_unord)\
769 TEST_MAP(IMPL, C, CuckooStripedMap_list_ord)\
770 TEST_MAP(IMPL, C, CuckooStripedMap_vector_unord)\
771 TEST_MAP(IMPL, C, CuckooStripedMap_vector_ord)\
772 TEST_MAP(IMPL, C, CuckooStripedMap_list_unord_stat)\
773 TEST_MAP(IMPL, C, CuckooStripedMap_list_ord_stat)\
774 TEST_MAP(IMPL, C, CuckooStripedMap_vector_unord_stat)\
775 TEST_MAP(IMPL, C, CuckooStripedMap_vector_ord_stat)\
776 TEST_MAP(IMPL, C, CuckooRefinableMap_list_unord)\
777 TEST_MAP(IMPL, C, CuckooRefinableMap_list_ord)\
778 TEST_MAP(IMPL, C, CuckooRefinableMap_vector_unord)\
779 TEST_MAP(IMPL, C, CuckooRefinableMap_vector_ord) \
780 TEST_MAP(IMPL, C, CuckooRefinableMap_list_unord_stat)\
781 TEST_MAP(IMPL, C, CuckooRefinableMap_list_ord_stat)\
782 TEST_MAP(IMPL, C, CuckooRefinableMap_vector_unord_stat)\
783 TEST_MAP(IMPL, C, CuckooRefinableMap_vector_ord_stat) \
784 TEST_MAP(IMPL, C, CuckooStripedMap_list_unord_storehash)\
785 TEST_MAP(IMPL, C, CuckooStripedMap_list_ord_storehash)\
786 TEST_MAP(IMPL, C, CuckooStripedMap_vector_unord_storehash)\
787 TEST_MAP(IMPL, C, CuckooStripedMap_vector_ord_storehash)\
788 TEST_MAP(IMPL, C, CuckooRefinableMap_list_unord_storehash)\
789 TEST_MAP(IMPL, C, CuckooRefinableMap_list_ord_storehash)\
790 TEST_MAP(IMPL, C, CuckooRefinableMap_vector_unord_storehash)\
791 TEST_MAP(IMPL, C, CuckooRefinableMap_vector_ord_storehash)
793 #define CDSUNIT_TEST_CuckooMap \
794 CPPUNIT_TEST(CuckooStripedMap_list_unord)\
795 CPPUNIT_TEST(CuckooStripedMap_list_unord_stat)\
796 CPPUNIT_TEST(CuckooStripedMap_list_unord_storehash)\
797 CPPUNIT_TEST(CuckooStripedMap_list_ord)\
798 CPPUNIT_TEST(CuckooStripedMap_list_ord_stat)\
799 CPPUNIT_TEST(CuckooStripedMap_list_ord_storehash)\
800 CPPUNIT_TEST(CuckooStripedMap_vector_unord)\
801 CPPUNIT_TEST(CuckooStripedMap_vector_unord_stat)\
802 CPPUNIT_TEST(CuckooStripedMap_vector_unord_storehash)\
803 CPPUNIT_TEST(CuckooStripedMap_vector_ord)\
804 CPPUNIT_TEST(CuckooStripedMap_vector_ord_stat)\
805 CPPUNIT_TEST(CuckooStripedMap_vector_ord_storehash)\
806 CPPUNIT_TEST(CuckooRefinableMap_list_unord)\
807 CPPUNIT_TEST(CuckooRefinableMap_list_unord_stat)\
808 CPPUNIT_TEST(CuckooRefinableMap_list_unord_storehash)\
809 CPPUNIT_TEST(CuckooRefinableMap_list_ord)\
810 CPPUNIT_TEST(CuckooRefinableMap_list_ord_stat)\
811 CPPUNIT_TEST(CuckooRefinableMap_list_ord_storehash)\
812 CPPUNIT_TEST(CuckooRefinableMap_vector_unord)\
813 CPPUNIT_TEST(CuckooRefinableMap_vector_unord_stat)\
814 CPPUNIT_TEST(CuckooRefinableMap_vector_unord_storehash)\
815 CPPUNIT_TEST(CuckooRefinableMap_vector_ord)\
816 CPPUNIT_TEST(CuckooRefinableMap_vector_ord_stat)\
817 CPPUNIT_TEST(CuckooRefinableMap_vector_ord_storehash)
820 // **************************************************************************************
823 #undef CDSUNIT_DECLARE_MultiLevelHashMap
824 #define CDSUNIT_DECLARE_MultiLevelHashMap \
825 TEST_CASE(tag_MultiLevelHashMap, MultiLevelHashMap_hp_stdhash) \
826 TEST_CASE(tag_MultiLevelHashMap, MultiLevelHashMap_hp_stdhash_stat) \
827 TEST_CASE(tag_MultiLevelHashMap, MultiLevelHashMap_dhp_stdhash) \
828 TEST_CASE(tag_MultiLevelHashMap, MultiLevelHashMap_dhp_stdhash_stat)
830 #undef CDSUNIT_TEST_MultiLevelHashMap
831 #define CDSUNIT_TEST_MultiLevelHashMap \
832 CPPUNIT_TEST(MultiLevelHashMap_hp_stdhash) \
833 CPPUNIT_TEST(MultiLevelHashMap_hp_stdhash_stat) \
834 CPPUNIT_TEST(MultiLevelHashMap_dhp_stdhash) \
835 CPPUNIT_TEST(MultiLevelHashMap_dhp_stdhash_stat)