3 #ifndef CDSUNIT_SET_DEFS_H
4 #define CDSUNIT_SET_DEFS_H
6 #define CDSUNIT_DECLARE_StdSet \
7 CDSUNIT_DECLARE_TEST(StdSet_Spin) \
8 CDSUNIT_DECLARE_TEST(StdHashSet_Spin)
10 #define CDSUNIT_DEFINE_StdSet(IMPL, C) \
11 TEST_SET(IMPL, C, StdSet_Spin) \
12 TEST_SET(IMPL, C, StdHashSet_Spin)
14 #define CDSUNIT_TEST_StdSet \
15 CPPUNIT_TEST(StdSet_Spin) \
16 CPPUNIT_TEST(StdHashSet_Spin)
18 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
19 # define CDSUNIT_DECLARE_MichaelSet_RCU_signal \
20 CDSUNIT_DECLARE_TEST(MichaelSet_RCU_SHB_cmp_stdAlloc) \
21 CDSUNIT_DECLARE_TEST(MichaelSet_RCU_SHB_less_michaelAlloc) \
22 CDSUNIT_DECLARE_TEST(MichaelSet_RCU_SHT_cmp_stdAlloc) \
23 CDSUNIT_DECLARE_TEST(MichaelSet_RCU_SHT_less_michaelAlloc) \
24 CDSUNIT_DECLARE_TEST(MichaelSet_Lazy_RCU_SHB_cmp_stdAlloc) \
25 CDSUNIT_DECLARE_TEST(MichaelSet_Lazy_RCU_SHB_less_michaelAlloc) \
26 CDSUNIT_DECLARE_TEST(MichaelSet_Lazy_RCU_SHT_cmp_stdAlloc) \
27 CDSUNIT_DECLARE_TEST(MichaelSet_Lazy_RCU_SHT_less_michaelAlloc)
29 # define CDSUNIT_DEFINE_MichaelSet_RCU_signal(IMPL, C ) \
30 TEST_SET_EXTRACT(IMPL, C, MichaelSet_RCU_SHB_cmp_stdAlloc) \
31 TEST_SET_EXTRACT(IMPL, C, MichaelSet_RCU_SHB_less_michaelAlloc) \
32 TEST_SET_EXTRACT(IMPL, C, MichaelSet_RCU_SHT_cmp_stdAlloc) \
33 TEST_SET_EXTRACT(IMPL, C, MichaelSet_RCU_SHT_less_michaelAlloc) \
34 TEST_SET_EXTRACT(IMPL, C, MichaelSet_Lazy_RCU_SHB_cmp_stdAlloc) \
35 TEST_SET_EXTRACT(IMPL, C, MichaelSet_Lazy_RCU_SHB_less_michaelAlloc) \
36 TEST_SET_EXTRACT(IMPL, C, MichaelSet_Lazy_RCU_SHT_cmp_stdAlloc) \
37 TEST_SET_EXTRACT(IMPL, C, MichaelSet_Lazy_RCU_SHT_less_michaelAlloc)
39 # define CDSUNIT_TEST_MichaelSet_RCU_signal \
40 CPPUNIT_TEST(MichaelSet_RCU_SHB_cmp_stdAlloc) \
41 CPPUNIT_TEST(MichaelSet_RCU_SHB_less_michaelAlloc) \
42 CPPUNIT_TEST(MichaelSet_RCU_SHT_cmp_stdAlloc) \
43 CPPUNIT_TEST(MichaelSet_RCU_SHT_less_michaelAlloc) \
44 CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHB_cmp_stdAlloc) \
45 CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHB_less_michaelAlloc) \
46 CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHT_cmp_stdAlloc) \
47 CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHT_less_michaelAlloc)
49 # define CDSUNIT_DECLARE_MichaelSet_RCU_signal
50 # define CDSUNIT_DEFINE_MichaelSet_RCU_signal(IMPL, C )
51 # define CDSUNIT_TEST_MichaelSet_RCU_signal
55 #define CDSUNIT_DECLARE_MichaelSet \
56 CDSUNIT_DECLARE_TEST(MichaelSet_HP_cmp_stdAlloc) \
57 CDSUNIT_DECLARE_TEST(MichaelSet_HP_less_michaelAlloc) \
58 CDSUNIT_DECLARE_TEST(MichaelSet_DHP_cmp_stdAlloc) \
59 CDSUNIT_DECLARE_TEST(MichaelSet_DHP_less_michaelAlloc) \
60 CDSUNIT_DECLARE_TEST(MichaelSet_RCU_GPI_cmp_stdAlloc) \
61 CDSUNIT_DECLARE_TEST(MichaelSet_RCU_GPI_less_michaelAlloc) \
62 CDSUNIT_DECLARE_TEST(MichaelSet_RCU_GPB_cmp_stdAlloc) \
63 CDSUNIT_DECLARE_TEST(MichaelSet_RCU_GPB_less_michaelAlloc) \
64 CDSUNIT_DECLARE_TEST(MichaelSet_RCU_GPT_cmp_stdAlloc) \
65 CDSUNIT_DECLARE_TEST(MichaelSet_RCU_GPT_less_michaelAlloc) \
66 CDSUNIT_DECLARE_TEST(MichaelSet_Lazy_HP_cmp_stdAlloc) \
67 CDSUNIT_DECLARE_TEST(MichaelSet_Lazy_HP_less_michaelAlloc) \
68 CDSUNIT_DECLARE_TEST(MichaelSet_Lazy_DHP_cmp_stdAlloc) \
69 CDSUNIT_DECLARE_TEST(MichaelSet_Lazy_DHP_less_michaelAlloc) \
70 CDSUNIT_DECLARE_TEST(MichaelSet_Lazy_RCU_GPI_cmp_stdAlloc) \
71 CDSUNIT_DECLARE_TEST(MichaelSet_Lazy_RCU_GPI_less_michaelAlloc) \
72 CDSUNIT_DECLARE_TEST(MichaelSet_Lazy_RCU_GPB_cmp_stdAlloc) \
73 CDSUNIT_DECLARE_TEST(MichaelSet_Lazy_RCU_GPB_less_michaelAlloc) \
74 CDSUNIT_DECLARE_TEST(MichaelSet_Lazy_RCU_GPT_cmp_stdAlloc) \
75 CDSUNIT_DECLARE_TEST(MichaelSet_Lazy_RCU_GPT_less_michaelAlloc) \
76 CDSUNIT_DECLARE_MichaelSet_RCU_signal
78 #define CDSUNIT_DEFINE_MichaelSet( IMPL, C ) \
79 TEST_SET_EXTRACT(IMPL, C, MichaelSet_HP_cmp_stdAlloc) \
80 TEST_SET_EXTRACT(IMPL, C, MichaelSet_HP_less_michaelAlloc) \
81 TEST_SET_EXTRACT(IMPL, C, MichaelSet_DHP_cmp_stdAlloc) \
82 TEST_SET_EXTRACT(IMPL, C, MichaelSet_DHP_less_michaelAlloc) \
83 TEST_SET_EXTRACT(IMPL, C, MichaelSet_RCU_GPI_cmp_stdAlloc) \
84 TEST_SET_EXTRACT(IMPL, C, MichaelSet_RCU_GPI_less_michaelAlloc) \
85 TEST_SET_EXTRACT(IMPL, C, MichaelSet_RCU_GPB_cmp_stdAlloc) \
86 TEST_SET_EXTRACT(IMPL, C, MichaelSet_RCU_GPB_less_michaelAlloc) \
87 TEST_SET_EXTRACT(IMPL, C, MichaelSet_RCU_GPT_cmp_stdAlloc) \
88 TEST_SET_EXTRACT(IMPL, C, MichaelSet_RCU_GPT_less_michaelAlloc) \
89 TEST_SET_EXTRACT(IMPL, C, MichaelSet_Lazy_HP_cmp_stdAlloc) \
90 TEST_SET_EXTRACT(IMPL, C, MichaelSet_Lazy_HP_less_michaelAlloc) \
91 TEST_SET_EXTRACT(IMPL, C, MichaelSet_Lazy_DHP_cmp_stdAlloc) \
92 TEST_SET_EXTRACT(IMPL, C, MichaelSet_Lazy_DHP_less_michaelAlloc) \
93 TEST_SET_EXTRACT(IMPL, C, MichaelSet_Lazy_RCU_GPI_cmp_stdAlloc) \
94 TEST_SET_EXTRACT(IMPL, C, MichaelSet_Lazy_RCU_GPI_less_michaelAlloc) \
95 TEST_SET_EXTRACT(IMPL, C, MichaelSet_Lazy_RCU_GPB_cmp_stdAlloc) \
96 TEST_SET_EXTRACT(IMPL, C, MichaelSet_Lazy_RCU_GPB_less_michaelAlloc) \
97 TEST_SET_EXTRACT(IMPL, C, MichaelSet_Lazy_RCU_GPT_cmp_stdAlloc) \
98 TEST_SET_EXTRACT(IMPL, C, MichaelSet_Lazy_RCU_GPT_less_michaelAlloc) \
99 CDSUNIT_DEFINE_MichaelSet_RCU_signal(IMPL, C)
101 #define CDSUNIT_TEST_MichaelSet \
102 CPPUNIT_TEST(MichaelSet_HP_cmp_stdAlloc) \
103 CPPUNIT_TEST(MichaelSet_HP_less_michaelAlloc) \
104 CPPUNIT_TEST(MichaelSet_DHP_cmp_stdAlloc) \
105 CPPUNIT_TEST(MichaelSet_DHP_less_michaelAlloc) \
106 CPPUNIT_TEST(MichaelSet_RCU_GPI_cmp_stdAlloc) \
107 CPPUNIT_TEST(MichaelSet_RCU_GPI_less_michaelAlloc) \
108 CPPUNIT_TEST(MichaelSet_RCU_GPB_cmp_stdAlloc) \
109 CPPUNIT_TEST(MichaelSet_RCU_GPB_less_michaelAlloc) \
110 CPPUNIT_TEST(MichaelSet_RCU_GPT_cmp_stdAlloc) \
111 CPPUNIT_TEST(MichaelSet_RCU_GPT_less_michaelAlloc) \
112 CPPUNIT_TEST(MichaelSet_Lazy_HP_cmp_stdAlloc) \
113 CPPUNIT_TEST(MichaelSet_Lazy_HP_less_michaelAlloc) \
114 CPPUNIT_TEST(MichaelSet_Lazy_DHP_cmp_stdAlloc) \
115 CPPUNIT_TEST(MichaelSet_Lazy_DHP_less_michaelAlloc) \
116 CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPI_cmp_stdAlloc) \
117 CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPI_less_michaelAlloc) \
118 CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPB_cmp_stdAlloc) \
119 CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPB_less_michaelAlloc) \
120 CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPT_cmp_stdAlloc) \
121 CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPT_less_michaelAlloc) \
122 CDSUNIT_TEST_MichaelSet_RCU_signal
125 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
126 # define CDSUNIT_DECLARE_SplitList_RCU_signal \
127 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_SHB_dyn_cmp)\
128 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_SHB_dyn_cmp_stat)\
129 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_SHB_st_cmp)\
130 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_SHB_dyn_less)\
131 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_SHB_st_less)\
132 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_SHB_st_less_stat)\
133 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_SHT_dyn_cmp)\
134 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_SHT_dyn_cmp_stat)\
135 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_SHT_st_cmp)\
136 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_SHT_dyn_less)\
137 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_SHT_st_less)\
138 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_SHT_st_less_stat)\
139 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp)\
140 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\
141 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_SHB_st_cmp)\
142 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_SHB_dyn_less)\
143 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_SHB_st_less)\
144 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_SHB_st_less_stat)\
145 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp)\
146 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\
147 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_SHT_st_cmp)\
148 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_SHT_dyn_less)\
149 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_SHT_st_less)\
150 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_SHT_st_less_stat)
152 # define CDSUNIT_DEFINE_SplitList_RCU_signal( IMPL, C ) \
153 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_SHB_dyn_cmp)\
154 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_SHB_dyn_cmp_stat)\
155 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_SHB_st_cmp)\
156 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_SHB_dyn_less)\
157 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_SHB_st_less)\
158 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_SHB_st_less_stat)\
159 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_SHT_dyn_cmp)\
160 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_SHT_dyn_cmp_stat)\
161 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_SHT_st_cmp)\
162 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_SHT_dyn_less)\
163 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_SHT_st_less)\
164 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_SHT_st_less_stat)\
165 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_SHB_dyn_cmp)\
166 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\
167 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_SHB_st_cmp)\
168 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_SHB_dyn_less)\
169 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_SHB_st_less)\
170 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_SHB_st_less_stat)\
171 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_SHT_dyn_cmp)\
172 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\
173 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_SHT_st_cmp)\
174 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_SHT_dyn_less)\
175 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_SHT_st_less)\
176 TEST_SET_EXTRACT( IMPL, C, 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_DEFINE_SplitList_RCU_signal( IMPL, C )
207 # define CDSUNIT_TEST_SplitList_RCU_signal
210 #define CDSUNIT_DECLARE_SplitList \
211 CDSUNIT_DECLARE_TEST(SplitList_Michael_HP_dyn_cmp)\
212 CDSUNIT_DECLARE_TEST(SplitList_Michael_HP_dyn_cmp_stat)\
213 CDSUNIT_DECLARE_TEST(SplitList_Michael_HP_st_cmp)\
214 CDSUNIT_DECLARE_TEST(SplitList_Michael_HP_dyn_less)\
215 CDSUNIT_DECLARE_TEST(SplitList_Michael_HP_st_less)\
216 CDSUNIT_DECLARE_TEST(SplitList_Michael_HP_st_less_stat)\
217 CDSUNIT_DECLARE_TEST(SplitList_Michael_DHP_dyn_cmp)\
218 CDSUNIT_DECLARE_TEST(SplitList_Michael_DHP_dyn_cmp_stat)\
219 CDSUNIT_DECLARE_TEST(SplitList_Michael_DHP_st_cmp)\
220 CDSUNIT_DECLARE_TEST(SplitList_Michael_DHP_dyn_less)\
221 CDSUNIT_DECLARE_TEST(SplitList_Michael_DHP_st_less)\
222 CDSUNIT_DECLARE_TEST(SplitList_Michael_DHP_st_less_stat)\
223 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPI_dyn_cmp)\
224 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
225 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPI_st_cmp)\
226 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPI_dyn_less)\
227 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPI_st_less)\
228 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPI_st_less_stat)\
229 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPB_dyn_cmp)\
230 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
231 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPB_st_cmp)\
232 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPB_dyn_less)\
233 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPB_st_less)\
234 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPB_st_less_stat)\
235 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPT_dyn_cmp)\
236 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
237 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPT_st_cmp)\
238 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPT_dyn_less)\
239 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPT_st_less)\
240 CDSUNIT_DECLARE_TEST(SplitList_Michael_RCU_GPT_st_less_stat)\
241 CDSUNIT_DECLARE_TEST(SplitList_Lazy_HP_dyn_cmp)\
242 CDSUNIT_DECLARE_TEST(SplitList_Lazy_HP_dyn_cmp_stat)\
243 CDSUNIT_DECLARE_TEST(SplitList_Lazy_HP_st_cmp)\
244 CDSUNIT_DECLARE_TEST(SplitList_Lazy_HP_dyn_less)\
245 CDSUNIT_DECLARE_TEST(SplitList_Lazy_HP_st_less)\
246 CDSUNIT_DECLARE_TEST(SplitList_Lazy_HP_st_less_stat)\
247 CDSUNIT_DECLARE_TEST(SplitList_Lazy_DHP_dyn_cmp)\
248 CDSUNIT_DECLARE_TEST(SplitList_Lazy_DHP_dyn_cmp_stat)\
249 CDSUNIT_DECLARE_TEST(SplitList_Lazy_DHP_st_cmp)\
250 CDSUNIT_DECLARE_TEST(SplitList_Lazy_DHP_dyn_less)\
251 CDSUNIT_DECLARE_TEST(SplitList_Lazy_DHP_st_less)\
252 CDSUNIT_DECLARE_TEST(SplitList_Lazy_DHP_st_less_stat)\
253 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp)\
254 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
255 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPI_st_cmp)\
256 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPI_dyn_less)\
257 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPI_st_less)\
258 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPI_st_less_stat)\
259 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp)\
260 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
261 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPB_st_cmp)\
262 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPB_dyn_less)\
263 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPB_st_less)\
264 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPB_st_less_stat)\
265 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp)\
266 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
267 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPT_st_cmp)\
268 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPT_dyn_less)\
269 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPT_st_less)\
270 CDSUNIT_DECLARE_TEST(SplitList_Lazy_RCU_GPT_st_less_stat)\
271 CDSUNIT_DECLARE_SplitList_RCU_signal
273 #define CDSUNIT_DEFINE_SplitList( IMPL, C ) \
274 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_HP_dyn_cmp)\
275 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_HP_dyn_cmp_stat)\
276 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_HP_st_cmp)\
277 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_HP_dyn_less)\
278 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_HP_st_less)\
279 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_HP_st_less_stat)\
280 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_DHP_dyn_cmp)\
281 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_DHP_dyn_cmp_stat)\
282 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_DHP_st_cmp)\
283 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_DHP_dyn_less)\
284 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_DHP_st_less)\
285 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_DHP_st_less_stat)\
286 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPI_dyn_cmp)\
287 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
288 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPI_st_cmp)\
289 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPI_dyn_less)\
290 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPI_st_less)\
291 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPI_st_less_stat)\
292 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPB_dyn_cmp)\
293 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
294 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPB_st_cmp)\
295 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPB_dyn_less)\
296 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPB_st_less)\
297 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPB_st_less_stat)\
298 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPT_dyn_cmp)\
299 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
300 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPT_st_cmp)\
301 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPT_dyn_less)\
302 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPT_st_less)\
303 TEST_SET_EXTRACT( IMPL, C, SplitList_Michael_RCU_GPT_st_less_stat)\
304 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_HP_dyn_cmp)\
305 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_HP_dyn_cmp_stat)\
306 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_HP_st_cmp)\
307 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_HP_dyn_less)\
308 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_HP_st_less)\
309 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_HP_st_less_stat)\
310 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_DHP_dyn_cmp)\
311 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_DHP_dyn_cmp_stat)\
312 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_DHP_st_cmp)\
313 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_DHP_dyn_less)\
314 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_DHP_st_less)\
315 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_DHP_st_less_stat)\
316 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPI_dyn_cmp)\
317 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
318 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPI_st_cmp)\
319 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPI_dyn_less)\
320 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPI_st_less)\
321 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPI_st_less_stat)\
322 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPB_dyn_cmp)\
323 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
324 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPB_st_cmp)\
325 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPB_dyn_less)\
326 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPB_st_less)\
327 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPB_st_less_stat)\
328 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPT_dyn_cmp)\
329 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
330 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPT_st_cmp)\
331 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPT_dyn_less)\
332 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPT_st_less)\
333 TEST_SET_EXTRACT( IMPL, C, SplitList_Lazy_RCU_GPT_st_less_stat)\
334 CDSUNIT_DEFINE_SplitList_RCU_signal( IMPL, C )
336 #define CDSUNIT_TEST_SplitList \
337 CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp)\
338 CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp_stat)\
339 CPPUNIT_TEST(SplitList_Michael_HP_st_cmp)\
340 CPPUNIT_TEST(SplitList_Michael_HP_dyn_less)\
341 CPPUNIT_TEST(SplitList_Michael_HP_st_less)\
342 CPPUNIT_TEST(SplitList_Michael_HP_st_less_stat)\
343 CPPUNIT_TEST(SplitList_Michael_DHP_dyn_cmp)\
344 CPPUNIT_TEST(SplitList_Michael_DHP_dyn_cmp_stat)\
345 CPPUNIT_TEST(SplitList_Michael_DHP_st_cmp)\
346 CPPUNIT_TEST(SplitList_Michael_DHP_dyn_less)\
347 CPPUNIT_TEST(SplitList_Michael_DHP_st_less)\
348 CPPUNIT_TEST(SplitList_Michael_DHP_st_less_stat)\
349 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp)\
350 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
351 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_cmp)\
352 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_less)\
353 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less)\
354 CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less_stat)\
355 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp)\
356 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
357 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_cmp)\
358 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_less)\
359 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less)\
360 CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less_stat)\
361 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp)\
362 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
363 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_cmp)\
364 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_less)\
365 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less)\
366 CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less_stat)\
367 CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp)\
368 CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp_stat)\
369 CPPUNIT_TEST(SplitList_Lazy_HP_st_cmp)\
370 CPPUNIT_TEST(SplitList_Lazy_HP_dyn_less)\
371 CPPUNIT_TEST(SplitList_Lazy_HP_st_less)\
372 CPPUNIT_TEST(SplitList_Lazy_HP_st_less_stat)\
373 CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_cmp)\
374 CPPUNIT_TEST(SplitList_Lazy_HP_st_less_stat)\
375 CPPUNIT_TEST(SplitList_Lazy_DHP_st_cmp)\
376 CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_less)\
377 CPPUNIT_TEST(SplitList_Lazy_DHP_st_less)\
378 CPPUNIT_TEST(SplitList_Lazy_DHP_st_less_stat)\
379 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp)\
380 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
381 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_cmp)\
382 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_less)\
383 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less)\
384 CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less_stat)\
385 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp)\
386 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
387 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_cmp)\
388 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_less)\
389 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less)\
390 CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less_stat)\
391 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp)\
392 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
393 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_cmp)\
394 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_less)\
395 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less)\
396 CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less_stat)\
397 CDSUNIT_TEST_SplitList_RCU_signal
400 #define CDSUNIT_DECLARE_CuckooSet \
401 CDSUNIT_DECLARE_TEST(CuckooStripedSet_list_unord)\
402 CDSUNIT_DECLARE_TEST(CuckooStripedSet_list_unord_stat)\
403 CDSUNIT_DECLARE_TEST(CuckooStripedSet_list_ord)\
404 CDSUNIT_DECLARE_TEST(CuckooStripedSet_list_ord_stat)\
405 CDSUNIT_DECLARE_TEST(CuckooStripedSet_vector_unord)\
406 CDSUNIT_DECLARE_TEST(CuckooStripedSet_vector_ord)\
407 CDSUNIT_DECLARE_TEST(CuckooStripedSet_vector_unord_stat)\
408 CDSUNIT_DECLARE_TEST(CuckooStripedSet_vector_ord_stat)\
409 CDSUNIT_DECLARE_TEST(CuckooRefinableSet_list_unord)\
410 CDSUNIT_DECLARE_TEST(CuckooRefinableSet_list_ord)\
411 CDSUNIT_DECLARE_TEST(CuckooRefinableSet_list_unord_stat)\
412 CDSUNIT_DECLARE_TEST(CuckooRefinableSet_list_ord_stat)\
413 CDSUNIT_DECLARE_TEST(CuckooRefinableSet_vector_unord)\
414 CDSUNIT_DECLARE_TEST(CuckooRefinableSet_vector_unord_stat)\
415 CDSUNIT_DECLARE_TEST(CuckooRefinableSet_vector_ord) \
416 CDSUNIT_DECLARE_TEST(CuckooRefinableSet_vector_ord_stat) \
417 CDSUNIT_DECLARE_TEST(CuckooStripedSet_list_unord_storehash)\
418 CDSUNIT_DECLARE_TEST(CuckooStripedSet_list_ord_storehash)\
419 CDSUNIT_DECLARE_TEST(CuckooStripedSet_vector_unord_storehash)\
420 CDSUNIT_DECLARE_TEST(CuckooStripedSet_vector_ord_storehash)\
421 CDSUNIT_DECLARE_TEST(CuckooRefinableSet_list_unord_storehash)\
422 CDSUNIT_DECLARE_TEST(CuckooRefinableSet_list_ord_storehash)\
423 CDSUNIT_DECLARE_TEST(CuckooRefinableSet_vector_unord_storehash)\
424 CDSUNIT_DECLARE_TEST(CuckooRefinableSet_vector_ord_storehash)
426 #define CDSUNIT_DEFINE_CuckooSet(IMPL, C) \
427 TEST_SET(IMPL, C, CuckooStripedSet_list_unord)\
428 TEST_SET(IMPL, C, CuckooStripedSet_list_unord_stat)\
429 TEST_SET(IMPL, C, CuckooStripedSet_list_ord)\
430 TEST_SET(IMPL, C, CuckooStripedSet_list_ord_stat)\
431 TEST_SET(IMPL, C, CuckooStripedSet_vector_unord)\
432 TEST_SET(IMPL, C, CuckooStripedSet_vector_ord)\
433 TEST_SET(IMPL, C, CuckooStripedSet_vector_unord_stat)\
434 TEST_SET(IMPL, C, CuckooStripedSet_vector_ord_stat)\
435 TEST_SET(IMPL, C, CuckooRefinableSet_list_unord)\
436 TEST_SET(IMPL, C, CuckooRefinableSet_list_ord)\
437 TEST_SET(IMPL, C, CuckooRefinableSet_list_unord_stat)\
438 TEST_SET(IMPL, C, CuckooRefinableSet_list_ord_stat)\
439 TEST_SET(IMPL, C, CuckooRefinableSet_vector_unord)\
440 TEST_SET(IMPL, C, CuckooRefinableSet_vector_unord_stat)\
441 TEST_SET(IMPL, C, CuckooRefinableSet_vector_ord) \
442 TEST_SET(IMPL, C, CuckooRefinableSet_vector_ord_stat) \
443 TEST_SET(IMPL, C, CuckooStripedSet_list_unord_storehash)\
444 TEST_SET(IMPL, C, CuckooStripedSet_list_ord_storehash)\
445 TEST_SET(IMPL, C, CuckooStripedSet_vector_unord_storehash)\
446 TEST_SET(IMPL, C, CuckooStripedSet_vector_ord_storehash)\
447 TEST_SET(IMPL, C, CuckooRefinableSet_list_unord_storehash)\
448 TEST_SET(IMPL, C, CuckooRefinableSet_list_ord_storehash)\
449 TEST_SET(IMPL, C, CuckooRefinableSet_vector_unord_storehash)\
450 TEST_SET(IMPL, C, CuckooRefinableSet_vector_ord_storehash)
453 #define CDSUNIT_TEST_CuckooSet \
454 CPPUNIT_TEST(CuckooStripedSet_list_unord)\
455 CPPUNIT_TEST(CuckooStripedSet_list_unord_stat)\
456 CPPUNIT_TEST(CuckooStripedSet_list_unord_storehash)\
457 CPPUNIT_TEST(CuckooStripedSet_list_ord)\
458 CPPUNIT_TEST(CuckooStripedSet_list_ord_stat)\
459 CPPUNIT_TEST(CuckooStripedSet_list_ord_storehash)\
460 CPPUNIT_TEST(CuckooStripedSet_vector_unord)\
461 CPPUNIT_TEST(CuckooStripedSet_vector_unord_stat)\
462 CPPUNIT_TEST(CuckooStripedSet_vector_unord_storehash)\
463 CPPUNIT_TEST(CuckooStripedSet_vector_ord)\
464 CPPUNIT_TEST(CuckooStripedSet_vector_ord_stat)\
465 CPPUNIT_TEST(CuckooStripedSet_vector_ord_storehash)\
466 CPPUNIT_TEST(CuckooRefinableSet_list_unord)\
467 CPPUNIT_TEST(CuckooRefinableSet_list_unord_stat)\
468 CPPUNIT_TEST(CuckooRefinableSet_list_unord_storehash)\
469 CPPUNIT_TEST(CuckooRefinableSet_list_ord)\
470 CPPUNIT_TEST(CuckooRefinableSet_list_ord_stat)\
471 CPPUNIT_TEST(CuckooRefinableSet_list_ord_storehash)\
472 CPPUNIT_TEST(CuckooRefinableSet_vector_unord)\
473 CPPUNIT_TEST(CuckooRefinableSet_vector_unord_stat)\
474 CPPUNIT_TEST(CuckooRefinableSet_vector_unord_storehash)\
475 CPPUNIT_TEST(CuckooRefinableSet_vector_ord) \
476 CPPUNIT_TEST(CuckooRefinableSet_vector_ord_stat) \
477 CPPUNIT_TEST(CuckooRefinableSet_vector_ord_storehash)
481 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
482 # define CDSUNIT_DECLARE_SkipListSet_RCU_signal \
483 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_shb_less_pascal)\
484 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_shb_cmp_pascal_stat)\
485 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_shb_less_xorshift)\
486 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_shb_cmp_xorshift_stat)\
487 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_sht_less_pascal)\
488 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_sht_cmp_pascal_stat)\
489 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_sht_less_xorshift)\
490 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_sht_cmp_xorshift_stat)
492 # define CDSUNIT_DEFINE_SkipListSet_RCU_signal( IMPL, C ) \
493 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_shb_less_pascal)\
494 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_shb_cmp_pascal_stat)\
495 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_shb_less_xorshift)\
496 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_shb_cmp_xorshift_stat)\
497 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_sht_less_pascal)\
498 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_sht_cmp_pascal_stat)\
499 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_sht_less_xorshift)\
500 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_sht_cmp_xorshift_stat)
502 # define CDSUNIT_TEST_SkipListSet_RCU_signal \
503 CPPUNIT_TEST(SkipListSet_rcu_shb_less_pascal)\
504 CPPUNIT_TEST(SkipListSet_rcu_shb_cmp_pascal_stat)\
505 CPPUNIT_TEST(SkipListSet_rcu_shb_less_xorshift)\
506 CPPUNIT_TEST(SkipListSet_rcu_shb_cmp_xorshift_stat)\
507 CPPUNIT_TEST(SkipListSet_rcu_sht_less_pascal)\
508 CPPUNIT_TEST(SkipListSet_rcu_sht_cmp_pascal_stat)\
509 CPPUNIT_TEST(SkipListSet_rcu_sht_less_xorshift)\
510 CPPUNIT_TEST(SkipListSet_rcu_sht_cmp_xorshift_stat)
513 # define CDSUNIT_DECLARE_SkipListSet_RCU_signal
514 # define CDSUNIT_DEFINE_SkipListSet_RCU_signal( IMPL, C )
515 # define CDSUNIT_TEST_SkipListSet_RCU_signal
518 #define CDSUNIT_DECLARE_SkipListSet \
519 CDSUNIT_DECLARE_TEST(SkipListSet_hp_less_pascal)\
520 CDSUNIT_DECLARE_TEST(SkipListSet_hp_cmp_pascal_stat)\
521 CDSUNIT_DECLARE_TEST(SkipListSet_hp_less_xorshift)\
522 CDSUNIT_DECLARE_TEST(SkipListSet_hp_cmp_xorshift_stat)\
523 CDSUNIT_DECLARE_TEST(SkipListSet_dhp_less_pascal)\
524 CDSUNIT_DECLARE_TEST(SkipListSet_dhp_cmp_pascal_stat)\
525 CDSUNIT_DECLARE_TEST(SkipListSet_dhp_less_xorshift)\
526 CDSUNIT_DECLARE_TEST(SkipListSet_dhp_cmp_xorshift_stat)\
527 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_gpi_less_pascal)\
528 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_gpi_cmp_pascal_stat)\
529 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_gpi_less_xorshift)\
530 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_gpi_cmp_xorshift_stat)\
531 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_gpb_less_pascal)\
532 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_gpb_cmp_pascal_stat)\
533 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_gpb_less_xorshift)\
534 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_gpb_cmp_xorshift_stat)\
535 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_gpt_less_pascal)\
536 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_gpt_cmp_pascal_stat)\
537 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_gpt_less_xorshift)\
538 CDSUNIT_DECLARE_TEST(SkipListSet_rcu_gpt_cmp_xorshift_stat)\
539 CDSUNIT_DECLARE_SkipListSet_RCU_signal
541 #define CDSUNIT_DEFINE_SkipListSet(IMPL, C) \
542 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_hp_less_pascal)\
543 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_hp_cmp_pascal_stat)\
544 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_hp_less_xorshift)\
545 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_hp_cmp_xorshift_stat)\
546 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_dhp_less_pascal)\
547 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_dhp_cmp_pascal_stat)\
548 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_dhp_less_xorshift)\
549 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_dhp_cmp_xorshift_stat)\
550 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_gpi_less_pascal)\
551 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_gpi_cmp_pascal_stat)\
552 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_gpi_less_xorshift)\
553 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_gpi_cmp_xorshift_stat)\
554 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_gpb_less_pascal)\
555 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_gpb_cmp_pascal_stat)\
556 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_gpb_less_xorshift)\
557 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_gpb_cmp_xorshift_stat)\
558 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_gpt_less_pascal)\
559 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_gpt_cmp_pascal_stat)\
560 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_gpt_less_xorshift)\
561 TEST_SET_NOLF_EXTRACT(IMPL, C, SkipListSet_rcu_gpt_cmp_xorshift_stat)\
562 CDSUNIT_DEFINE_SkipListSet_RCU_signal( IMPL, C )
564 #define CDSUNIT_TEST_SkipListSet \
565 CPPUNIT_TEST(SkipListSet_hp_less_pascal)\
566 CPPUNIT_TEST(SkipListSet_hp_cmp_pascal_stat)\
567 CPPUNIT_TEST(SkipListSet_hp_less_xorshift)\
568 CPPUNIT_TEST(SkipListSet_hp_cmp_xorshift_stat)\
569 CPPUNIT_TEST(SkipListSet_dhp_less_pascal)\
570 CPPUNIT_TEST(SkipListSet_dhp_cmp_pascal_stat)\
571 CPPUNIT_TEST(SkipListSet_dhp_less_xorshift)\
572 CPPUNIT_TEST(SkipListSet_dhp_cmp_xorshift_stat)\
573 CPPUNIT_TEST(SkipListSet_rcu_gpi_less_pascal)\
574 CPPUNIT_TEST(SkipListSet_rcu_gpi_cmp_pascal_stat)\
575 CPPUNIT_TEST(SkipListSet_rcu_gpi_less_xorshift)\
576 CPPUNIT_TEST(SkipListSet_rcu_gpi_cmp_xorshift_stat)\
577 CPPUNIT_TEST(SkipListSet_rcu_gpb_less_pascal)\
578 CPPUNIT_TEST(SkipListSet_rcu_gpb_cmp_pascal_stat)\
579 CPPUNIT_TEST(SkipListSet_rcu_gpb_less_xorshift)\
580 CPPUNIT_TEST(SkipListSet_rcu_gpb_cmp_xorshift_stat)\
581 CPPUNIT_TEST(SkipListSet_rcu_gpt_less_pascal)\
582 CPPUNIT_TEST(SkipListSet_rcu_gpt_cmp_pascal_stat)\
583 CPPUNIT_TEST(SkipListSet_rcu_gpt_less_xorshift)\
584 CPPUNIT_TEST(SkipListSet_rcu_gpt_cmp_xorshift_stat)\
585 CDSUNIT_TEST_SkipListSet_RCU_signal
588 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
589 # define CDSUNIT_DECLARE_EllenBinTreeSet_RCU_signal \
590 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_rcu_shb)\
591 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_rcu_shb_stat)\
592 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_rcu_sht)\
593 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_rcu_sht_stat)
595 # define CDSUNIT_DEFINE_EllenBinTreeSet_RCU_signal( IMPL, C ) \
596 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_rcu_shb)\
597 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_rcu_shb_stat)\
598 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_rcu_sht)\
599 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_rcu_sht_stat)
601 # define CDSUNIT_TEST_EllenBinTreeSet_RCU_signal \
602 CPPUNIT_TEST(EllenBinTreeSet_rcu_shb)\
603 CPPUNIT_TEST(EllenBinTreeSet_rcu_shb_stat)\
604 CPPUNIT_TEST(EllenBinTreeSet_rcu_sht)\
605 CPPUNIT_TEST(EllenBinTreeSet_rcu_sht_stat)
607 # define CDSUNIT_DECLARE_EllenBinTreeSet_RCU_signal
608 # define CDSUNIT_DEFINE_EllenBinTreeSet_RCU_signal( IMPL, C )
609 # define CDSUNIT_TEST_EllenBinTreeSet_RCU_signal
612 #define CDSUNIT_DECLARE_EllenBinTreeSet \
613 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_hp)\
614 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_yield_hp)\
615 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_hp_stat)\
616 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_dhp)\
617 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_yield_dhp)\
618 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_dhp_stat)\
619 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_rcu_gpi)\
620 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_rcu_gpi_stat)\
621 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_rcu_gpb)\
622 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_yield_rcu_gpb)\
623 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_rcu_gpb_stat)\
624 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_rcu_gpt)\
625 CDSUNIT_DECLARE_TEST(EllenBinTreeSet_rcu_gpt_stat)\
626 CDSUNIT_DECLARE_EllenBinTreeSet_RCU_signal
628 #define CDSUNIT_DEFINE_EllenBinTreeSet( IMPL, C ) \
629 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_hp)\
630 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_yield_hp)\
631 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_hp_stat)\
632 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_dhp)\
633 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_yield_dhp)\
634 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_dhp_stat)\
635 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_rcu_gpi)\
636 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_rcu_gpi_stat)\
637 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_rcu_gpb)\
638 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_yield_rcu_gpb)\
639 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_rcu_gpb_stat)\
640 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_rcu_gpt)\
641 TEST_SET_NOLF_EXTRACT(IMPL, C, EllenBinTreeSet_rcu_gpt_stat)\
642 CDSUNIT_DEFINE_EllenBinTreeSet_RCU_signal(IMPL, C)
644 #define CDSUNIT_TEST_EllenBinTreeSet \
645 CPPUNIT_TEST(EllenBinTreeSet_hp)\
646 CPPUNIT_TEST(EllenBinTreeSet_yield_hp)\
647 CPPUNIT_TEST(EllenBinTreeSet_hp_stat)\
648 CPPUNIT_TEST(EllenBinTreeSet_dhp)\
649 CPPUNIT_TEST(EllenBinTreeSet_yield_dhp)\
650 CPPUNIT_TEST(EllenBinTreeSet_dhp_stat)\
651 CPPUNIT_TEST(EllenBinTreeSet_rcu_gpi)\
652 /*CPPUNIT_TEST(EllenBinTreeSet_rcu_gpi_stat)*/\
653 CPPUNIT_TEST(EllenBinTreeSet_rcu_gpb)\
654 CPPUNIT_TEST(EllenBinTreeSet_yield_rcu_gpb)\
655 CPPUNIT_TEST(EllenBinTreeSet_rcu_gpb_stat)\
656 CPPUNIT_TEST(EllenBinTreeSet_rcu_gpt)\
657 CPPUNIT_TEST(EllenBinTreeSet_rcu_gpt_stat)\
658 CDSUNIT_TEST_EllenBinTreeSet_RCU_signal
662 #define CDSUNIT_DECLARE_StripedSet_common \
663 CDSUNIT_DECLARE_TEST(StripedSet_list) \
664 CDSUNIT_DECLARE_TEST(StripedSet_vector) \
665 CDSUNIT_DECLARE_TEST(StripedSet_set) \
666 CDSUNIT_DECLARE_TEST(StripedSet_hashset) \
667 CDSUNIT_DECLARE_TEST(StripedSet_boost_unordered_set)
669 #define CDSUNIT_DEFINE_StripedSet_common( IMPL, C ) \
670 TEST_SET(IMPL, C, StripedSet_list) \
671 TEST_SET(IMPL, C, StripedSet_vector) \
672 TEST_SET(IMPL, C, StripedSet_set) \
673 TEST_SET(IMPL, C, StripedSet_hashset) \
674 TEST_SET(IMPL, C, StripedSet_boost_unordered_set)
676 #define CDSUNIT_TEST_StripedSet_common \
677 CPPUNIT_TEST(StripedSet_list) \
678 CPPUNIT_TEST(StripedSet_vector) \
679 CPPUNIT_TEST(StripedSet_set) \
680 CPPUNIT_TEST(StripedSet_hashset) \
681 CPPUNIT_TEST(StripedSet_boost_unordered_set)
683 #if BOOST_VERSION >= 104800
684 # define CDSUNIT_DECLARE_StripedSet_boost_container \
685 CDSUNIT_DECLARE_TEST(StripedSet_boost_list) \
686 CDSUNIT_DECLARE_TEST(StripedSet_boost_slist) \
687 CDSUNIT_DECLARE_TEST(StripedSet_boost_vector) \
688 CDSUNIT_DECLARE_TEST(StripedSet_boost_stable_vector) \
689 CDSUNIT_DECLARE_TEST(StripedSet_boost_set)
691 # define CDSUNIT_DEFINE_StripedSet_boost_container( IMPL, C ) \
692 TEST_SET(IMPL, C, StripedSet_boost_list) \
693 TEST_SET(IMPL, C, StripedSet_boost_slist) \
694 TEST_SET(IMPL, C, StripedSet_boost_vector) \
695 TEST_SET(IMPL, C, StripedSet_boost_stable_vector) \
696 TEST_SET(IMPL, C, StripedSet_boost_set)
698 # define CDSUNIT_TEST_StripedSet_boost_container \
699 CPPUNIT_TEST(StripedSet_boost_list) \
700 CPPUNIT_TEST(StripedSet_boost_slist) \
701 CPPUNIT_TEST(StripedSet_boost_vector) \
702 CPPUNIT_TEST(StripedSet_boost_stable_vector) \
703 CPPUNIT_TEST(StripedSet_boost_set)
705 # define CDSUNIT_DECLARE_StripedSet_boost_container
706 # define CDSUNIT_DEFINE_StripedSet_boost_container( IMPL, C )
707 # define CDSUNIT_TEST_StripedSet_boost_container
710 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_SET_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
711 # define CDSUNIT_DECLARE_StripedSet_boost_flat_container \
712 CDSUNIT_DECLARE_TEST(StripedSet_boost_flat_set)
713 # define CDSUNIT_DEFINE_StripedSet_boost_flat_container( IMPL, C ) \
714 TEST_SET(IMPL, C, StripedSet_boost_flat_set)
715 # define CDSUNIT_TEST_StripedSet_boost_flat_container \
716 CPPUNIT_TEST(StripedSet_boost_flat_set)
718 # define CDSUNIT_DECLARE_StripedSet_boost_flat_container
719 # define CDSUNIT_DEFINE_StripedSet_boost_flat_container( IMPL, C )
720 # define CDSUNIT_TEST_StripedSet_boost_flat_container
723 #define CDSUNIT_DECLARE_StripedSet \
724 CDSUNIT_DECLARE_StripedSet_common \
725 CDSUNIT_DECLARE_StripedSet_boost_container \
726 CDSUNIT_DECLARE_StripedSet_boost_flat_container
727 #define CDSUNIT_DEFINE_StripedSet( IMPL, C ) \
728 CDSUNIT_DEFINE_StripedSet_common( IMPL, C ) \
729 CDSUNIT_DEFINE_StripedSet_boost_container( IMPL, C ) \
730 CDSUNIT_DEFINE_StripedSet_boost_flat_container( IMPL, C )
731 #define CDSUNIT_TEST_StripedSet \
732 CDSUNIT_TEST_StripedSet_common \
733 CDSUNIT_TEST_StripedSet_boost_container \
734 CDSUNIT_TEST_StripedSet_boost_flat_container
737 #define CDSUNIT_DECLARE_RefinableSet_common \
738 CDSUNIT_DECLARE_TEST(RefinableSet_list) \
739 CDSUNIT_DECLARE_TEST(RefinableSet_vector) \
740 CDSUNIT_DECLARE_TEST(RefinableSet_set) \
741 CDSUNIT_DECLARE_TEST(RefinableSet_hashset) \
742 CDSUNIT_DECLARE_TEST(RefinableSet_boost_unordered_set)
743 #define CDSUNIT_DEFINE_RefinableSet_common(IMPL, C) \
744 TEST_SET(IMPL, C, RefinableSet_list) \
745 TEST_SET(IMPL, C, RefinableSet_vector) \
746 TEST_SET(IMPL, C, RefinableSet_set) \
747 TEST_SET(IMPL, C, RefinableSet_hashset) \
748 TEST_SET(IMPL, C, RefinableSet_boost_unordered_set)
749 #define CDSUNIT_TEST_RefinableSet_common \
750 CPPUNIT_TEST(RefinableSet_list) \
751 CPPUNIT_TEST(RefinableSet_vector) \
752 CPPUNIT_TEST(RefinableSet_set) \
753 CPPUNIT_TEST(RefinableSet_hashset) \
754 CPPUNIT_TEST(RefinableSet_boost_unordered_set)
756 #if BOOST_VERSION >= 104800
757 # define CDSUNIT_DECLARE_RefinableSet_boost_container \
758 CDSUNIT_DECLARE_TEST(RefinableSet_boost_list) \
759 CDSUNIT_DECLARE_TEST(RefinableSet_boost_slist) \
760 CDSUNIT_DECLARE_TEST(RefinableSet_boost_vector) \
761 CDSUNIT_DECLARE_TEST(RefinableSet_boost_stable_vector) \
762 CDSUNIT_DECLARE_TEST(RefinableSet_boost_set)
763 # define CDSUNIT_DEFINE_RefinableSet_boost_container( IMPL, C ) \
764 TEST_SET(IMPL, C, RefinableSet_boost_list) \
765 TEST_SET(IMPL, C, RefinableSet_boost_slist) \
766 TEST_SET(IMPL, C, RefinableSet_boost_vector) \
767 TEST_SET(IMPL, C, RefinableSet_boost_stable_vector) \
768 TEST_SET(IMPL, C, RefinableSet_boost_set)
769 # define CDSUNIT_TEST_RefinableSet_boost_container \
770 CPPUNIT_TEST(RefinableSet_boost_list) \
771 CPPUNIT_TEST(RefinableSet_boost_slist) \
772 CPPUNIT_TEST(RefinableSet_boost_vector) \
773 CPPUNIT_TEST(RefinableSet_boost_stable_vector) \
774 CPPUNIT_TEST(RefinableSet_boost_set)
776 # define CDSUNIT_DECLARE_RefinableSet_boost_container
777 # define CDSUNIT_DEFINE_RefinableSet_boost_container( IMPL, C ) \
778 # define CDSUNIT_TEST_RefinableSet_boost_container
781 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_SET_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
782 # define CDSUNIT_DECLARE_RefinableSet_boost_flat_container \
783 CDSUNIT_DECLARE_TEST(RefinableSet_boost_flat_set)
784 # define CDSUNIT_DEFINE_RefinableSet_boost_flat_container( IMPL, C ) \
785 TEST_SET(IMPL, C, RefinableSet_boost_flat_set)
786 # define CDSUNIT_TEST_RefinableSet_boost_flat_container \
787 CPPUNIT_TEST(RefinableSet_boost_flat_set)
789 # define CDSUNIT_DECLARE_RefinableSet_boost_flat_container
790 # define CDSUNIT_DEFINE_RefinableSet_boost_flat_container( IMPL, C )
791 # define CDSUNIT_TEST_RefinableSet_boost_flat_container
794 #define CDSUNIT_DECLARE_RefinableSet \
795 CDSUNIT_DECLARE_RefinableSet_common \
796 CDSUNIT_DECLARE_RefinableSet_boost_container \
797 CDSUNIT_DECLARE_RefinableSet_boost_flat_container
798 #define CDSUNIT_DEFINE_RefinableSet( IMPL, C ) \
799 CDSUNIT_DEFINE_RefinableSet_common( IMPL, C ) \
800 CDSUNIT_DEFINE_RefinableSet_boost_container( IMPL, C ) \
801 CDSUNIT_DEFINE_RefinableSet_boost_flat_container( IMPL, C )
802 #define CDSUNIT_TEST_RefinableSet \
803 CDSUNIT_TEST_RefinableSet_common \
804 CDSUNIT_TEST_RefinableSet_boost_container \
805 CDSUNIT_TEST_RefinableSet_boost_flat_container
807 #endif // #ifndef CDSUNIT_SET_DEFS_H