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_StdSet \
32 TEST_CASE( tag_StdSet, StdSet_Spin) \
33 TEST_CASE( tag_StdSet, StdSet_Mutex) \
34 TEST_CASE( tag_StdSet, StdHashSet_Spin)
36 #define CDSUNIT_TEST_StdSet \
37 CPPUNIT_TEST(StdSet_Spin) \
38 CPPUNIT_TEST(StdSet_Mutex) \
39 CPPUNIT_TEST(StdHashSet_Spin)
41 //********************************************************************
44 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
45 # define CDSUNIT_DECLARE_MichaelSet_RCU_signal \
46 TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_SHB_cmp_stdAlloc) \
47 TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_SHB_less_michaelAlloc) \
48 TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_SHT_cmp_stdAlloc) \
49 TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_SHT_less_michaelAlloc) \
50 TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_SHB_cmp_stdAlloc) \
51 TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_SHB_less_michaelAlloc) \
52 TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_SHT_cmp_stdAlloc) \
53 TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_SHT_less_michaelAlloc)
55 # define CDSUNIT_TEST_MichaelSet_RCU_signal \
56 CPPUNIT_TEST(MichaelSet_RCU_SHB_cmp_stdAlloc) \
57 CPPUNIT_TEST(MichaelSet_RCU_SHB_less_michaelAlloc) \
58 CPPUNIT_TEST(MichaelSet_RCU_SHT_cmp_stdAlloc) \
59 CPPUNIT_TEST(MichaelSet_RCU_SHT_less_michaelAlloc) \
60 CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHB_cmp_stdAlloc) \
61 CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHB_less_michaelAlloc) \
62 CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHT_cmp_stdAlloc) \
63 CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHT_less_michaelAlloc)
65 # define CDSUNIT_DECLARE_MichaelSet_RCU_signal
66 # define CDSUNIT_TEST_MichaelSet_RCU_signal
70 #define CDSUNIT_DECLARE_MichaelSet \
71 TEST_CASE(tag_MichaelHashSet, MichaelSet_HP_cmp_stdAlloc) \
72 TEST_CASE(tag_MichaelHashSet, MichaelSet_HP_less_michaelAlloc) \
73 TEST_CASE(tag_MichaelHashSet, MichaelSet_DHP_cmp_stdAlloc) \
74 TEST_CASE(tag_MichaelHashSet, MichaelSet_DHP_less_michaelAlloc) \
75 TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_GPI_cmp_stdAlloc) \
76 TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_GPI_less_michaelAlloc) \
77 TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_GPB_cmp_stdAlloc) \
78 TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_GPB_less_michaelAlloc) \
79 TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_GPT_cmp_stdAlloc) \
80 TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_GPT_less_michaelAlloc) \
81 TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_HP_cmp_stdAlloc) \
82 TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_HP_less_michaelAlloc) \
83 TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_DHP_cmp_stdAlloc) \
84 TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_DHP_less_michaelAlloc) \
85 TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_GPI_cmp_stdAlloc) \
86 TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_GPI_less_michaelAlloc) \
87 TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_GPB_cmp_stdAlloc) \
88 TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_GPB_less_michaelAlloc) \
89 TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_GPT_cmp_stdAlloc) \
90 TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_GPT_less_michaelAlloc) \
91 CDSUNIT_DECLARE_MichaelSet_RCU_signal
93 #define CDSUNIT_TEST_MichaelSet \
94 CPPUNIT_TEST(MichaelSet_HP_cmp_stdAlloc) \
95 CPPUNIT_TEST(MichaelSet_HP_less_michaelAlloc) \
96 CPPUNIT_TEST(MichaelSet_DHP_cmp_stdAlloc) \
97 CPPUNIT_TEST(MichaelSet_DHP_less_michaelAlloc) \
98 CPPUNIT_TEST(MichaelSet_RCU_GPI_cmp_stdAlloc) \
99 CPPUNIT_TEST(MichaelSet_RCU_GPI_less_michaelAlloc) \
100 CPPUNIT_TEST(MichaelSet_RCU_GPB_cmp_stdAlloc) \
101 CPPUNIT_TEST(MichaelSet_RCU_GPB_less_michaelAlloc) \
102 CPPUNIT_TEST(MichaelSet_RCU_GPT_cmp_stdAlloc) \
103 CPPUNIT_TEST(MichaelSet_RCU_GPT_less_michaelAlloc) \
104 CPPUNIT_TEST(MichaelSet_Lazy_HP_cmp_stdAlloc) \
105 CPPUNIT_TEST(MichaelSet_Lazy_HP_less_michaelAlloc) \
106 CPPUNIT_TEST(MichaelSet_Lazy_DHP_cmp_stdAlloc) \
107 CPPUNIT_TEST(MichaelSet_Lazy_DHP_less_michaelAlloc) \
108 CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPI_cmp_stdAlloc) \
109 CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPI_less_michaelAlloc) \
110 CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPB_cmp_stdAlloc) \
111 CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPB_less_michaelAlloc) \
112 CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPT_cmp_stdAlloc) \
113 CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPT_less_michaelAlloc) \
114 CDSUNIT_TEST_MichaelSet_RCU_signal
116 //********************************************************************
119 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
120 # define CDSUNIT_DECLARE_SplitList_RCU_signal \
121 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHB_dyn_cmp)\
122 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHB_dyn_cmp_stat)\
123 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHB_st_cmp)\
124 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHB_dyn_less)\
125 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHB_st_less)\
126 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHB_st_less_stat)\
127 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHT_dyn_cmp)\
128 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHT_dyn_cmp_stat)\
129 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHT_st_cmp)\
130 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHT_dyn_less)\
131 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHT_st_less)\
132 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHT_st_less_stat)\
133 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHB_dyn_cmp)\
134 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\
135 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHB_st_cmp)\
136 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHB_dyn_less)\
137 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHB_st_less)\
138 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHB_st_less_stat)\
139 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHT_dyn_cmp)\
140 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\
141 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHT_st_cmp)\
142 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHT_dyn_less)\
143 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHT_st_less)\
144 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHT_st_less_stat)
146 # define CDSUNIT_TEST_SplitList_RCU_signal \
147 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp)\
148 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp_stat)\
149 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_cmp)\
150 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_less)\
151 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_less)\
152 CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_less_stat)\
153 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_cmp)\
154 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_cmp_stat)\
155 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_cmp)\
156 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_less)\
157 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_less)\
158 CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_less_stat)\
159 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp)\
160 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\
161 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_cmp)\
162 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_less)\
163 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_less)\
164 CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_less_stat)\
165 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp)\
166 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\
167 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_cmp)\
168 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_less)\
169 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_less)\
170 CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_less_stat)
173 # define CDSUNIT_DECLARE_SplitList_RCU_signal
174 # define CDSUNIT_TEST_SplitList_RCU_signal
177 #define CDSUNIT_DECLARE_SplitList \
178 TEST_CASE(tag_SplitListSet, SplitList_Michael_HP_dyn_cmp)\
179 TEST_CASE(tag_SplitListSet, SplitList_Michael_HP_dyn_cmp_stat)\
180 TEST_CASE(tag_SplitListSet, SplitList_Michael_HP_st_cmp)\
181 TEST_CASE(tag_SplitListSet, SplitList_Michael_HP_dyn_less)\
182 TEST_CASE(tag_SplitListSet, SplitList_Michael_HP_st_less)\
183 TEST_CASE(tag_SplitListSet, SplitList_Michael_HP_st_less_stat)\
184 TEST_CASE(tag_SplitListSet, SplitList_Michael_DHP_dyn_cmp)\
185 TEST_CASE(tag_SplitListSet, SplitList_Michael_DHP_dyn_cmp_stat)\
186 TEST_CASE(tag_SplitListSet, SplitList_Michael_DHP_st_cmp)\
187 TEST_CASE(tag_SplitListSet, SplitList_Michael_DHP_dyn_less)\
188 TEST_CASE(tag_SplitListSet, SplitList_Michael_DHP_st_less)\
189 TEST_CASE(tag_SplitListSet, SplitList_Michael_DHP_st_less_stat)\
190 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPI_dyn_cmp)\
191 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
192 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPI_st_cmp)\
193 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPI_dyn_less)\
194 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPI_st_less)\
195 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPI_st_less_stat)\
196 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPB_dyn_cmp)\
197 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
198 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPB_st_cmp)\
199 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPB_dyn_less)\
200 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPB_st_less)\
201 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPB_st_less_stat)\
202 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPT_dyn_cmp)\
203 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
204 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPT_st_cmp)\
205 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPT_dyn_less)\
206 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPT_st_less)\
207 TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPT_st_less_stat)\
208 TEST_CASE(tag_SplitListSet, SplitList_Lazy_HP_dyn_cmp)\
209 TEST_CASE(tag_SplitListSet, SplitList_Lazy_HP_dyn_cmp_stat)\
210 TEST_CASE(tag_SplitListSet, SplitList_Lazy_HP_st_cmp)\
211 TEST_CASE(tag_SplitListSet, SplitList_Lazy_HP_dyn_less)\
212 TEST_CASE(tag_SplitListSet, SplitList_Lazy_HP_st_less)\
213 TEST_CASE(tag_SplitListSet, SplitList_Lazy_HP_st_less_stat)\
214 TEST_CASE(tag_SplitListSet, SplitList_Lazy_DHP_dyn_cmp)\
215 TEST_CASE(tag_SplitListSet, SplitList_Lazy_DHP_dyn_cmp_stat)\
216 TEST_CASE(tag_SplitListSet, SplitList_Lazy_DHP_st_cmp)\
217 TEST_CASE(tag_SplitListSet, SplitList_Lazy_DHP_dyn_less)\
218 TEST_CASE(tag_SplitListSet, SplitList_Lazy_DHP_st_less)\
219 TEST_CASE(tag_SplitListSet, SplitList_Lazy_DHP_st_less_stat)\
220 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPI_dyn_cmp)\
221 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
222 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPI_st_cmp)\
223 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPI_dyn_less)\
224 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPI_st_less)\
225 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPI_st_less_stat)\
226 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPB_dyn_cmp)\
227 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
228 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPB_st_cmp)\
229 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPB_dyn_less)\
230 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPB_st_less)\
231 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPB_st_less_stat)\
232 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPT_dyn_cmp)\
233 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
234 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPT_st_cmp)\
235 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPT_dyn_less)\
236 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPT_st_less)\
237 TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPT_st_less_stat)\
238 CDSUNIT_DECLARE_SplitList_RCU_signal
240 #define CDSUNIT_TEST_SplitList \
241 CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp)\
242 CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp_stat)\
243 CPPUNIT_TEST(SplitList_Michael_HP_st_cmp)\
244 CPPUNIT_TEST(SplitList_Michael_HP_dyn_less)\
245 CPPUNIT_TEST(SplitList_Michael_HP_st_less)\
246 CPPUNIT_TEST(SplitList_Michael_HP_st_less_stat)\
247 CPPUNIT_TEST(SplitList_Michael_DHP_dyn_cmp)\
248 CPPUNIT_TEST(SplitList_Michael_DHP_dyn_cmp_stat)\
249 CPPUNIT_TEST(SplitList_Michael_DHP_st_cmp)\
250 CPPUNIT_TEST(SplitList_Michael_DHP_dyn_less)\
251 CPPUNIT_TEST(SplitList_Michael_DHP_st_less)\
252 CPPUNIT_TEST(SplitList_Michael_DHP_st_less_stat)\
253 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp)\
254 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
255 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_cmp)\
256 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_less)\
257 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less)\
258 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less_stat)\
259 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp)\
260 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
261 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_cmp)\
262 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_less)\
263 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less)\
264 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less_stat)\
265 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp)\
266 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
267 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_cmp)\
268 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_less)\
269 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less)\
270 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less_stat)\
271 CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp)\
272 CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp_stat)\
273 CPPUNIT_TEST(SplitList_Lazy_HP_st_cmp)\
274 CPPUNIT_TEST(SplitList_Lazy_HP_dyn_less)\
275 CPPUNIT_TEST(SplitList_Lazy_HP_st_less)\
276 CPPUNIT_TEST(SplitList_Lazy_HP_st_less_stat)\
277 CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_cmp)\
278 CPPUNIT_TEST(SplitList_Lazy_HP_st_less_stat)\
279 CPPUNIT_TEST(SplitList_Lazy_DHP_st_cmp)\
280 CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_less)\
281 CPPUNIT_TEST(SplitList_Lazy_DHP_st_less)\
282 CPPUNIT_TEST(SplitList_Lazy_DHP_st_less_stat)\
283 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp)\
284 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
285 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_cmp)\
286 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_less)\
287 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less)\
288 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less_stat)\
289 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp)\
290 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
291 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_cmp)\
292 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_less)\
293 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less)\
294 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less_stat)\
295 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp)\
296 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
297 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_cmp)\
298 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_less)\
299 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less)\
300 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less_stat)\
301 CDSUNIT_TEST_SplitList_RCU_signal
303 //********************************************************************
306 #define CDSUNIT_DECLARE_CuckooSet \
307 TEST_CASE(tag_CuckooSet, CuckooStripedSet_list_unord)\
308 TEST_CASE(tag_CuckooSet, CuckooStripedSet_list_unord_stat)\
309 TEST_CASE(tag_CuckooSet, CuckooStripedSet_list_ord)\
310 TEST_CASE(tag_CuckooSet, CuckooStripedSet_list_ord_stat)\
311 TEST_CASE(tag_CuckooSet, CuckooStripedSet_vector_unord)\
312 TEST_CASE(tag_CuckooSet, CuckooStripedSet_vector_ord)\
313 TEST_CASE(tag_CuckooSet, CuckooStripedSet_vector_unord_stat)\
314 TEST_CASE(tag_CuckooSet, CuckooStripedSet_vector_ord_stat)\
315 TEST_CASE(tag_CuckooSet, CuckooRefinableSet_list_unord)\
316 TEST_CASE(tag_CuckooSet, CuckooRefinableSet_list_ord)\
317 TEST_CASE(tag_CuckooSet, CuckooRefinableSet_list_unord_stat)\
318 TEST_CASE(tag_CuckooSet, CuckooRefinableSet_list_ord_stat)\
319 TEST_CASE(tag_CuckooSet, CuckooRefinableSet_vector_unord)\
320 TEST_CASE(tag_CuckooSet, CuckooRefinableSet_vector_unord_stat)\
321 TEST_CASE(tag_CuckooSet, CuckooRefinableSet_vector_ord) \
322 TEST_CASE(tag_CuckooSet, CuckooRefinableSet_vector_ord_stat) \
323 TEST_CASE(tag_CuckooSet, CuckooStripedSet_list_unord_storehash)\
324 TEST_CASE(tag_CuckooSet, CuckooStripedSet_list_ord_storehash)\
325 TEST_CASE(tag_CuckooSet, CuckooStripedSet_vector_unord_storehash)\
326 TEST_CASE(tag_CuckooSet, CuckooStripedSet_vector_ord_storehash)\
327 TEST_CASE(tag_CuckooSet, CuckooRefinableSet_list_unord_storehash)\
328 TEST_CASE(tag_CuckooSet, CuckooRefinableSet_list_ord_storehash)\
329 TEST_CASE(tag_CuckooSet, CuckooRefinableSet_vector_unord_storehash)\
330 TEST_CASE(tag_CuckooSet, CuckooRefinableSet_vector_ord_storehash)
332 #define CDSUNIT_TEST_CuckooSet \
333 CPPUNIT_TEST(CuckooStripedSet_list_unord)\
334 CPPUNIT_TEST(CuckooStripedSet_list_unord_stat)\
335 CPPUNIT_TEST(CuckooStripedSet_list_unord_storehash)\
336 CPPUNIT_TEST(CuckooStripedSet_list_ord)\
337 CPPUNIT_TEST(CuckooStripedSet_list_ord_stat)\
338 CPPUNIT_TEST(CuckooStripedSet_list_ord_storehash)\
339 CPPUNIT_TEST(CuckooStripedSet_vector_unord)\
340 CPPUNIT_TEST(CuckooStripedSet_vector_unord_stat)\
341 CPPUNIT_TEST(CuckooStripedSet_vector_unord_storehash)\
342 CPPUNIT_TEST(CuckooStripedSet_vector_ord)\
343 CPPUNIT_TEST(CuckooStripedSet_vector_ord_stat)\
344 CPPUNIT_TEST(CuckooStripedSet_vector_ord_storehash)\
345 CPPUNIT_TEST(CuckooRefinableSet_list_unord)\
346 CPPUNIT_TEST(CuckooRefinableSet_list_unord_stat)\
347 CPPUNIT_TEST(CuckooRefinableSet_list_unord_storehash)\
348 CPPUNIT_TEST(CuckooRefinableSet_list_ord)\
349 CPPUNIT_TEST(CuckooRefinableSet_list_ord_stat)\
350 CPPUNIT_TEST(CuckooRefinableSet_list_ord_storehash)\
351 CPPUNIT_TEST(CuckooRefinableSet_vector_unord)\
352 CPPUNIT_TEST(CuckooRefinableSet_vector_unord_stat)\
353 CPPUNIT_TEST(CuckooRefinableSet_vector_unord_storehash)\
354 CPPUNIT_TEST(CuckooRefinableSet_vector_ord) \
355 CPPUNIT_TEST(CuckooRefinableSet_vector_ord_stat) \
356 CPPUNIT_TEST(CuckooRefinableSet_vector_ord_storehash)
358 //********************************************************************
361 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
362 # define CDSUNIT_DECLARE_SkipListSet_RCU_signal \
363 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_shb_less_pascal)\
364 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_shb_cmp_pascal_stat)\
365 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_shb_less_xorshift)\
366 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_shb_cmp_xorshift_stat)\
367 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_sht_less_pascal)\
368 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_sht_cmp_pascal_stat)\
369 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_sht_less_xorshift)\
370 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_sht_cmp_xorshift_stat)
372 # define CDSUNIT_TEST_SkipListSet_RCU_signal \
373 CPPUNIT_TEST(SkipListSet_rcu_shb_less_pascal)\
374 CPPUNIT_TEST(SkipListSet_rcu_shb_cmp_pascal_stat)\
375 CPPUNIT_TEST(SkipListSet_rcu_shb_less_xorshift)\
376 CPPUNIT_TEST(SkipListSet_rcu_shb_cmp_xorshift_stat)\
377 CPPUNIT_TEST(SkipListSet_rcu_sht_less_pascal)\
378 CPPUNIT_TEST(SkipListSet_rcu_sht_cmp_pascal_stat)\
379 CPPUNIT_TEST(SkipListSet_rcu_sht_less_xorshift)\
380 CPPUNIT_TEST(SkipListSet_rcu_sht_cmp_xorshift_stat)
383 # define CDSUNIT_DECLARE_SkipListSet_RCU_signal
384 # define CDSUNIT_TEST_SkipListSet_RCU_signal
387 #define CDSUNIT_DECLARE_SkipListSet \
388 TEST_CASE(tag_SkipListSet, SkipListSet_hp_less_pascal)\
389 TEST_CASE(tag_SkipListSet, SkipListSet_hp_cmp_pascal_stat)\
390 TEST_CASE(tag_SkipListSet, SkipListSet_hp_less_xorshift)\
391 TEST_CASE(tag_SkipListSet, SkipListSet_hp_cmp_xorshift_stat)\
392 TEST_CASE(tag_SkipListSet, SkipListSet_dhp_less_pascal)\
393 TEST_CASE(tag_SkipListSet, SkipListSet_dhp_cmp_pascal_stat)\
394 TEST_CASE(tag_SkipListSet, SkipListSet_dhp_less_xorshift)\
395 TEST_CASE(tag_SkipListSet, SkipListSet_dhp_cmp_xorshift_stat)\
396 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpi_less_pascal)\
397 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpi_cmp_pascal_stat)\
398 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpi_less_xorshift)\
399 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpi_cmp_xorshift_stat)\
400 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpb_less_pascal)\
401 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpb_cmp_pascal_stat)\
402 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpb_less_xorshift)\
403 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpb_cmp_xorshift_stat)\
404 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpt_less_pascal)\
405 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpt_cmp_pascal_stat)\
406 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpt_less_xorshift)\
407 TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpt_cmp_xorshift_stat)\
408 CDSUNIT_DECLARE_SkipListSet_RCU_signal
410 #define CDSUNIT_TEST_SkipListSet \
411 CPPUNIT_TEST(SkipListSet_hp_less_pascal)\
412 CPPUNIT_TEST(SkipListSet_hp_cmp_pascal_stat)\
413 CPPUNIT_TEST(SkipListSet_hp_less_xorshift)\
414 CPPUNIT_TEST(SkipListSet_hp_cmp_xorshift_stat)\
415 CPPUNIT_TEST(SkipListSet_dhp_less_pascal)\
416 CPPUNIT_TEST(SkipListSet_dhp_cmp_pascal_stat)\
417 CPPUNIT_TEST(SkipListSet_dhp_less_xorshift)\
418 CPPUNIT_TEST(SkipListSet_dhp_cmp_xorshift_stat)\
419 CPPUNIT_TEST(SkipListSet_rcu_gpi_less_pascal)\
420 CPPUNIT_TEST(SkipListSet_rcu_gpi_cmp_pascal_stat)\
421 CPPUNIT_TEST(SkipListSet_rcu_gpi_less_xorshift)\
422 CPPUNIT_TEST(SkipListSet_rcu_gpi_cmp_xorshift_stat)\
423 CPPUNIT_TEST(SkipListSet_rcu_gpb_less_pascal)\
424 CPPUNIT_TEST(SkipListSet_rcu_gpb_cmp_pascal_stat)\
425 CPPUNIT_TEST(SkipListSet_rcu_gpb_less_xorshift)\
426 CPPUNIT_TEST(SkipListSet_rcu_gpb_cmp_xorshift_stat)\
427 CPPUNIT_TEST(SkipListSet_rcu_gpt_less_pascal)\
428 CPPUNIT_TEST(SkipListSet_rcu_gpt_cmp_pascal_stat)\
429 CPPUNIT_TEST(SkipListSet_rcu_gpt_less_xorshift)\
430 CPPUNIT_TEST(SkipListSet_rcu_gpt_cmp_xorshift_stat)\
431 CDSUNIT_TEST_SkipListSet_RCU_signal
433 //********************************************************************
436 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
437 # define CDSUNIT_DECLARE_EllenBinTreeSet_RCU_signal \
438 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_shb)\
439 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_shb_stat)\
440 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_sht)\
441 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_sht_stat)
443 # define CDSUNIT_TEST_EllenBinTreeSet_RCU_signal \
444 CPPUNIT_TEST(EllenBinTreeSet_rcu_shb)\
445 CPPUNIT_TEST(EllenBinTreeSet_rcu_shb_stat)\
446 CPPUNIT_TEST(EllenBinTreeSet_rcu_sht)\
447 CPPUNIT_TEST(EllenBinTreeSet_rcu_sht_stat)
449 # define CDSUNIT_DECLARE_EllenBinTreeSet_RCU_signal
450 # define CDSUNIT_TEST_EllenBinTreeSet_RCU_signal
453 #define CDSUNIT_DECLARE_EllenBinTreeSet \
454 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_hp)\
455 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_yield_hp)\
456 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_hp_stat)\
457 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_dhp)\
458 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_yield_dhp)\
459 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_dhp_stat)\
460 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_gpi)\
461 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_gpi_stat)\
462 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_gpb)\
463 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_yield_rcu_gpb)\
464 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_gpb_stat)\
465 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_gpt)\
466 TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_gpt_stat)\
467 CDSUNIT_DECLARE_EllenBinTreeSet_RCU_signal
469 #define CDSUNIT_TEST_EllenBinTreeSet \
470 CPPUNIT_TEST(EllenBinTreeSet_hp)\
471 CPPUNIT_TEST(EllenBinTreeSet_yield_hp)\
472 CPPUNIT_TEST(EllenBinTreeSet_hp_stat)\
473 CPPUNIT_TEST(EllenBinTreeSet_dhp)\
474 CPPUNIT_TEST(EllenBinTreeSet_yield_dhp)\
475 CPPUNIT_TEST(EllenBinTreeSet_dhp_stat)\
476 CPPUNIT_TEST(EllenBinTreeSet_rcu_gpi)\
477 /*CPPUNIT_TEST(EllenBinTreeSet_rcu_gpi_stat)*/\
478 CPPUNIT_TEST(EllenBinTreeSet_rcu_gpb)\
479 CPPUNIT_TEST(EllenBinTreeSet_yield_rcu_gpb)\
480 CPPUNIT_TEST(EllenBinTreeSet_rcu_gpb_stat)\
481 CPPUNIT_TEST(EllenBinTreeSet_rcu_gpt)\
482 CPPUNIT_TEST(EllenBinTreeSet_rcu_gpt_stat)\
483 CDSUNIT_TEST_EllenBinTreeSet_RCU_signal
485 //********************************************************************
488 #define CDSUNIT_DECLARE_StripedSet_common \
489 TEST_CASE( tag_StripedSet, StripedSet_list) \
490 TEST_CASE( tag_StripedSet, StripedSet_vector) \
491 TEST_CASE( tag_StripedSet, StripedSet_set) \
492 TEST_CASE( tag_StripedSet, StripedSet_hashset) \
493 TEST_CASE( tag_StripedSet, StripedSet_boost_unordered_set) \
494 TEST_CASE( tag_StripedSet, StripedSet_rational_list) \
495 TEST_CASE( tag_StripedSet, StripedSet_rational_vector) \
496 TEST_CASE( tag_StripedSet, StripedSet_rational_set) \
497 TEST_CASE( tag_StripedSet, StripedSet_rational_hashset) \
498 TEST_CASE( tag_StripedSet, StripedSet_rational_boost_unordered_set)
500 #define CDSUNIT_TEST_StripedSet_common \
501 CPPUNIT_TEST(StripedSet_list) \
502 CPPUNIT_TEST(StripedSet_vector) \
503 CPPUNIT_TEST(StripedSet_set) \
504 CPPUNIT_TEST(StripedSet_hashset) \
505 CPPUNIT_TEST(StripedSet_boost_unordered_set) \
506 CPPUNIT_TEST(StripedSet_rational_list) \
507 CPPUNIT_TEST(StripedSet_rational_vector) \
508 CPPUNIT_TEST(StripedSet_rational_set) \
509 CPPUNIT_TEST(StripedSet_rational_hashset) \
510 CPPUNIT_TEST(StripedSet_rational_boost_unordered_set)
512 #if BOOST_VERSION >= 104800
513 # define CDSUNIT_DECLARE_StripedSet_boost_container \
514 TEST_CASE( tag_StripedSet, StripedSet_boost_list) \
515 TEST_CASE( tag_StripedSet, StripedSet_boost_slist) \
516 TEST_CASE( tag_StripedSet, StripedSet_boost_vector) \
517 TEST_CASE( tag_StripedSet, StripedSet_boost_stable_vector) \
518 TEST_CASE( tag_StripedSet, StripedSet_boost_set) \
519 TEST_CASE( tag_StripedSet, StripedSet_rational_boost_list) \
520 TEST_CASE( tag_StripedSet, StripedSet_rational_boost_slist) \
521 TEST_CASE( tag_StripedSet, StripedSet_rational_boost_vector) \
522 TEST_CASE( tag_StripedSet, StripedSet_rational_boost_stable_vector) \
523 TEST_CASE( tag_StripedSet, StripedSet_rational_boost_set)
525 # define CDSUNIT_TEST_StripedSet_boost_container \
526 CPPUNIT_TEST(StripedSet_boost_list) \
527 CPPUNIT_TEST(StripedSet_boost_slist) \
528 CPPUNIT_TEST(StripedSet_boost_vector) \
529 CPPUNIT_TEST(StripedSet_boost_stable_vector) \
530 CPPUNIT_TEST(StripedSet_boost_set) \
531 CPPUNIT_TEST(StripedSet_rational_boost_list) \
532 CPPUNIT_TEST(StripedSet_rational_boost_slist) \
533 CPPUNIT_TEST(StripedSet_rational_boost_vector) \
534 CPPUNIT_TEST(StripedSet_rational_boost_stable_vector) \
535 CPPUNIT_TEST(StripedSet_rational_boost_set)
537 # define CDSUNIT_DECLARE_StripedSet_boost_container
538 # define CDSUNIT_TEST_StripedSet_boost_container
541 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_SET_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
542 # define CDSUNIT_DECLARE_StripedSet_boost_flat_container \
543 TEST_CASE( tag_StripedSet, StripedSet_boost_flat_set) \
544 TEST_CASE( tag_StripedSet, StripedSet_rational_boost_flat_set)
546 # define CDSUNIT_TEST_StripedSet_boost_flat_container \
547 CPPUNIT_TEST(StripedSet_boost_flat_set) \
548 CPPUNIT_TEST(StripedSet_rational_boost_flat_set)
550 # define CDSUNIT_DECLARE_StripedSet_boost_flat_container
551 # define CDSUNIT_TEST_StripedSet_boost_flat_container
554 #define CDSUNIT_DECLARE_StripedSet \
555 CDSUNIT_DECLARE_StripedSet_common \
556 CDSUNIT_DECLARE_StripedSet_boost_container \
557 CDSUNIT_DECLARE_StripedSet_boost_flat_container
559 #define CDSUNIT_TEST_StripedSet \
560 CDSUNIT_TEST_StripedSet_common \
561 CDSUNIT_TEST_StripedSet_boost_container \
562 CDSUNIT_TEST_StripedSet_boost_flat_container
565 #define CDSUNIT_DECLARE_RefinableSet_common \
566 TEST_CASE( tag_StripedSet, RefinableSet_list) \
567 TEST_CASE( tag_StripedSet, RefinableSet_vector) \
568 TEST_CASE( tag_StripedSet, RefinableSet_set) \
569 TEST_CASE( tag_StripedSet, RefinableSet_hashset) \
570 TEST_CASE( tag_StripedSet, RefinableSet_boost_unordered_set) \
571 TEST_CASE( tag_StripedSet, RefinableSet_rational_list) \
572 TEST_CASE( tag_StripedSet, RefinableSet_rational_vector) \
573 TEST_CASE( tag_StripedSet, RefinableSet_rational_set) \
574 TEST_CASE( tag_StripedSet, RefinableSet_rational_hashset) \
575 TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_unordered_set)
578 //********************************************************************
581 #define CDSUNIT_TEST_RefinableSet_common \
582 CPPUNIT_TEST(RefinableSet_list) \
583 CPPUNIT_TEST(RefinableSet_vector) \
584 CPPUNIT_TEST(RefinableSet_set) \
585 CPPUNIT_TEST(RefinableSet_hashset) \
586 CPPUNIT_TEST(RefinableSet_boost_unordered_set) \
587 CPPUNIT_TEST(RefinableSet_rational_list) \
588 CPPUNIT_TEST(RefinableSet_rational_vector) \
589 CPPUNIT_TEST(RefinableSet_rational_set) \
590 CPPUNIT_TEST(RefinableSet_rational_hashset) \
591 CPPUNIT_TEST(RefinableSet_rational_boost_unordered_set)
593 #if BOOST_VERSION >= 104800
594 # define CDSUNIT_DECLARE_RefinableSet_boost_container \
595 TEST_CASE( tag_StripedSet, RefinableSet_boost_list) \
596 TEST_CASE( tag_StripedSet, RefinableSet_boost_slist) \
597 TEST_CASE( tag_StripedSet, RefinableSet_boost_vector) \
598 TEST_CASE( tag_StripedSet, RefinableSet_boost_stable_vector) \
599 TEST_CASE( tag_StripedSet, RefinableSet_boost_set) \
600 TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_list) \
601 TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_slist) \
602 TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_vector) \
603 TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_stable_vector) \
604 TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_set)
606 # define CDSUNIT_TEST_RefinableSet_boost_container \
607 CPPUNIT_TEST(RefinableSet_boost_list) \
608 CPPUNIT_TEST(RefinableSet_boost_slist) \
609 CPPUNIT_TEST(RefinableSet_boost_vector) \
610 CPPUNIT_TEST(RefinableSet_boost_stable_vector) \
611 CPPUNIT_TEST(RefinableSet_boost_set) \
612 CPPUNIT_TEST(RefinableSet_rational_boost_list) \
613 CPPUNIT_TEST(RefinableSet_rational_boost_slist) \
614 CPPUNIT_TEST(RefinableSet_rational_boost_vector) \
615 CPPUNIT_TEST(RefinableSet_rational_boost_stable_vector) \
616 CPPUNIT_TEST(RefinableSet_rational_boost_set)
618 # define CDSUNIT_DECLARE_RefinableSet_boost_container
619 # define CDSUNIT_TEST_RefinableSet_boost_container
622 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_SET_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
623 # define CDSUNIT_DECLARE_RefinableSet_boost_flat_container \
624 TEST_CASE( tag_StripedSet, RefinableSet_boost_flat_set) \
625 TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_flat_set)
627 # define CDSUNIT_TEST_RefinableSet_boost_flat_container \
628 CPPUNIT_TEST(RefinableSet_boost_flat_set) \
629 CPPUNIT_TEST(RefinableSet_rational_boost_flat_set)
631 # define CDSUNIT_DECLARE_RefinableSet_boost_flat_container
632 # define CDSUNIT_TEST_RefinableSet_boost_flat_container
635 #define CDSUNIT_DECLARE_RefinableSet \
636 CDSUNIT_DECLARE_RefinableSet_common \
637 CDSUNIT_DECLARE_RefinableSet_boost_container \
638 CDSUNIT_DECLARE_RefinableSet_boost_flat_container
640 #define CDSUNIT_TEST_RefinableSet \
641 CDSUNIT_TEST_RefinableSet_common \
642 CDSUNIT_TEST_RefinableSet_boost_container \
643 CDSUNIT_TEST_RefinableSet_boost_flat_container
646 //***********************************************
649 // For fixed-sized key - no hash function is needed
651 #undef CDSUNIT_DECLARE_FeldmanHashSet_fixed
652 #undef CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal
653 #undef CDSUNIT_TEST_FeldmanHashSet_fixed
654 #undef CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal
656 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
657 # define CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal \
658 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed) \
659 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed_stat) \
660 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed) \
661 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed_stat) \
663 # define CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal \
664 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed) \
665 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed_stat) \
666 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed) \
667 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed_stat) \
670 # define CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal
671 # define CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal
674 #define CDSUNIT_DECLARE_FeldmanHashSet_fixed \
675 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_fixed) \
676 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_fixed_stat) \
677 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_fixed) \
678 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_fixed_stat) \
679 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_fixed) \
680 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_fixed_stat) \
681 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_fixed) \
682 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_fixed_stat) \
683 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_fixed) \
684 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_fixed_stat) \
685 CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal
687 #define CDSUNIT_TEST_FeldmanHashSet_fixed \
688 CPPUNIT_TEST(FeldmanHashSet_hp_fixed) \
689 CPPUNIT_TEST(FeldmanHashSet_hp_fixed_stat) \
690 CPPUNIT_TEST(FeldmanHashSet_dhp_fixed) \
691 CPPUNIT_TEST(FeldmanHashSet_dhp_fixed_stat) \
692 CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_fixed) \
693 CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_fixed_stat) \
694 CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_fixed) \
695 CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_fixed_stat) \
696 CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_fixed) \
697 CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_fixed_stat) \
698 CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal
701 #undef CDSUNIT_DECLARE_FeldmanHashSet_stdhash
702 #undef CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal
703 #undef CDSUNIT_TEST_FeldmanHashSet_stdhash
704 #undef CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal
706 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
707 # define CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal \
708 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash) \
709 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash_stat) \
710 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash) \
711 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash_stat) \
713 # define CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal \
714 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash) \
715 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash_stat) \
716 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash) \
717 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash_stat) \
720 # define CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal
721 # define CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal
724 #define CDSUNIT_DECLARE_FeldmanHashSet_stdhash \
725 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_stdhash) \
726 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_stdhash_stat) \
727 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_stdhash) \
728 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_stdhash_stat) \
729 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_stdhash) \
730 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_stdhash_stat) \
731 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_stdhash) \
732 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_stdhash_stat) \
733 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_stdhash) \
734 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_stdhash_stat) \
735 CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal
737 #define CDSUNIT_TEST_FeldmanHashSet_stdhash \
738 CPPUNIT_TEST(FeldmanHashSet_hp_stdhash) \
739 CPPUNIT_TEST(FeldmanHashSet_hp_stdhash_stat) \
740 CPPUNIT_TEST(FeldmanHashSet_dhp_stdhash) \
741 CPPUNIT_TEST(FeldmanHashSet_dhp_stdhash_stat) \
742 CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_stdhash) \
743 CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_stdhash_stat) \
744 CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_stdhash) \
745 CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_stdhash_stat) \
746 CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_stdhash) \
747 CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_stdhash_stat) \
748 CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal
751 // CityHash -only for 64bit
753 #undef CDSUNIT_DECLARE_FeldmanHashSet_city
754 #undef CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
755 #undef CDSUNIT_TEST_FeldmanHashSet_city
756 #undef CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
758 #if CDS_BUILD_BITS == 64
760 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
761 # define CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal \
762 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64) \
763 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64_stat) \
764 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64) \
765 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64_stat) \
766 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128) \
767 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128_stat) \
768 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128) \
769 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128_stat) \
771 # define CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal \
772 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64) \
773 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64_stat) \
774 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64) \
775 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64_stat) \
776 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128) \
777 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128_stat) \
778 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128) \
779 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128_stat) \
782 # define CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
783 # define CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
786 #define CDSUNIT_DECLARE_FeldmanHashSet_city \
787 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city64) \
788 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city64_stat) \
789 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city64) \
790 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city64_stat) \
791 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city64) \
792 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city64_stat) \
793 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city64) \
794 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city64_stat) \
795 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city64) \
796 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city64_stat) \
797 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city128) \
798 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city128_stat) \
799 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city128) \
800 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city128_stat) \
801 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city128) \
802 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city128_stat) \
803 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city128) \
804 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city128_stat) \
805 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city128) \
806 TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city128_stat) \
807 CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
809 #define CDSUNIT_TEST_FeldmanHashSet_city \
810 CPPUNIT_TEST(FeldmanHashSet_hp_city64) \
811 CPPUNIT_TEST(FeldmanHashSet_hp_city64_stat) \
812 CPPUNIT_TEST(FeldmanHashSet_dhp_city64) \
813 CPPUNIT_TEST(FeldmanHashSet_dhp_city64_stat) \
814 CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city64) \
815 CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city64_stat) \
816 CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city64) \
817 CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city64_stat) \
818 CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city64) \
819 CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city64_stat) \
820 CPPUNIT_TEST(FeldmanHashSet_hp_city128) \
821 CPPUNIT_TEST(FeldmanHashSet_hp_city128_stat) \
822 CPPUNIT_TEST(FeldmanHashSet_dhp_city128) \
823 CPPUNIT_TEST(FeldmanHashSet_dhp_city128_stat) \
824 CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city128) \
825 CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city128_stat) \
826 CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city128) \
827 CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city128_stat) \
828 CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city128) \
829 CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city128_stat) \
830 CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
833 # define CDSUNIT_DECLARE_FeldmanHashSet_city
834 # define CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
835 # define CDSUNIT_TEST_FeldmanHashSet_city
836 # define CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
837 #endif // CDS_BUILD_BITS == 64
842 #define CDSUNIT_DECLARE_FeldmanHashSet \
843 CDSUNIT_DECLARE_FeldmanHashSet_fixed \
844 CDSUNIT_DECLARE_FeldmanHashSet_stdhash \
845 CDSUNIT_DECLARE_FeldmanHashSet_city
847 #define CDSUNIT_TEST_FeldmanHashSet \
848 CDSUNIT_TEST_FeldmanHashSet_fixed \
849 CDSUNIT_TEST_FeldmanHashSet_stdhash \
850 CDSUNIT_TEST_FeldmanHashSet_city