remove michael_list_hrc.h
[libcds.git] / tests / unit / set2 / set_defs.h
1 //$$CDS-header$$
2
3 #ifndef _CDSUNIT_SET2_SET_DEFS_H
4 #define _CDSUNIT_SET2_SET_DEFS_H
5
6 #define CDSUNIT_DECLARE_StdSet \
7     TEST_SET(StdSet_Spin) \
8     TEST_SET(StdHashSet_Spin)
9 #define CDSUNIT_TEST_StdSet \
10     CPPUNIT_TEST(StdSet_Spin) \
11     CPPUNIT_TEST(StdHashSet_Spin)
12
13 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
14 #   define CDSUNIT_DECLARE_MichaelSet_RCU_signal  \
15     TEST_SET_EXTRACT(MichaelSet_RCU_SHB_cmp_stdAlloc) \
16     TEST_SET_EXTRACT(MichaelSet_RCU_SHB_less_michaelAlloc) \
17     TEST_SET_EXTRACT(MichaelSet_RCU_SHT_cmp_stdAlloc) \
18     TEST_SET_EXTRACT(MichaelSet_RCU_SHT_less_michaelAlloc) \
19     TEST_SET_EXTRACT(MichaelSet_Lazy_RCU_SHB_cmp_stdAlloc) \
20     TEST_SET_EXTRACT(MichaelSet_Lazy_RCU_SHB_less_michaelAlloc) \
21     TEST_SET_EXTRACT(MichaelSet_Lazy_RCU_SHT_cmp_stdAlloc) \
22     TEST_SET_EXTRACT(MichaelSet_Lazy_RCU_SHT_less_michaelAlloc)
23
24 #   define CDSUNIT_TEST_MichaelSet_RCU_signal  \
25     CPPUNIT_TEST(MichaelSet_RCU_SHB_cmp_stdAlloc) \
26     CPPUNIT_TEST(MichaelSet_RCU_SHB_less_michaelAlloc) \
27     CPPUNIT_TEST(MichaelSet_RCU_SHT_cmp_stdAlloc) \
28     CPPUNIT_TEST(MichaelSet_RCU_SHT_less_michaelAlloc) \
29     CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHB_cmp_stdAlloc) \
30     CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHB_less_michaelAlloc) \
31     CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHT_cmp_stdAlloc) \
32     CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHT_less_michaelAlloc)
33 #else
34 #   define CDSUNIT_DECLARE_MichaelSet_RCU_signal
35 #   define CDSUNIT_TEST_MichaelSet_RCU_signal
36 #endif
37
38
39 #define CDSUNIT_DECLARE_MichaelSet  \
40     TEST_SET_EXTRACT(MichaelSet_HP_cmp_stdAlloc) \
41     TEST_SET_EXTRACT(MichaelSet_HP_less_michaelAlloc) \
42     TEST_SET_EXTRACT(MichaelSet_PTB_cmp_stdAlloc) \
43     TEST_SET_EXTRACT(MichaelSet_PTB_less_michaelAlloc) \
44     TEST_SET_EXTRACT(MichaelSet_RCU_GPI_cmp_stdAlloc) \
45     TEST_SET_EXTRACT(MichaelSet_RCU_GPI_less_michaelAlloc) \
46     TEST_SET_EXTRACT(MichaelSet_RCU_GPB_cmp_stdAlloc) \
47     TEST_SET_EXTRACT(MichaelSet_RCU_GPB_less_michaelAlloc) \
48     TEST_SET_EXTRACT(MichaelSet_RCU_GPT_cmp_stdAlloc) \
49     TEST_SET_EXTRACT(MichaelSet_RCU_GPT_less_michaelAlloc) \
50     TEST_SET_EXTRACT(MichaelSet_Lazy_HP_cmp_stdAlloc) \
51     TEST_SET_EXTRACT(MichaelSet_Lazy_HP_less_michaelAlloc) \
52     TEST_SET_EXTRACT(MichaelSet_Lazy_PTB_cmp_stdAlloc) \
53     TEST_SET_EXTRACT(MichaelSet_Lazy_PTB_less_michaelAlloc) \
54     TEST_SET_EXTRACT(MichaelSet_Lazy_RCU_GPI_cmp_stdAlloc) \
55     TEST_SET_EXTRACT(MichaelSet_Lazy_RCU_GPI_less_michaelAlloc) \
56     TEST_SET_EXTRACT(MichaelSet_Lazy_RCU_GPB_cmp_stdAlloc) \
57     TEST_SET_EXTRACT(MichaelSet_Lazy_RCU_GPB_less_michaelAlloc) \
58     TEST_SET_EXTRACT(MichaelSet_Lazy_RCU_GPT_cmp_stdAlloc) \
59     TEST_SET_EXTRACT(MichaelSet_Lazy_RCU_GPT_less_michaelAlloc) \
60     CDSUNIT_DECLARE_MichaelSet_RCU_signal
61
62 #define CDSUNIT_TEST_MichaelSet  \
63     CPPUNIT_TEST(MichaelSet_HP_cmp_stdAlloc) \
64     CPPUNIT_TEST(MichaelSet_HP_less_michaelAlloc) \
65     CPPUNIT_TEST(MichaelSet_PTB_cmp_stdAlloc) \
66     CPPUNIT_TEST(MichaelSet_PTB_less_michaelAlloc) \
67     CPPUNIT_TEST(MichaelSet_RCU_GPI_cmp_stdAlloc) \
68     CPPUNIT_TEST(MichaelSet_RCU_GPI_less_michaelAlloc) \
69     CPPUNIT_TEST(MichaelSet_RCU_GPB_cmp_stdAlloc) \
70     CPPUNIT_TEST(MichaelSet_RCU_GPB_less_michaelAlloc) \
71     CPPUNIT_TEST(MichaelSet_RCU_GPT_cmp_stdAlloc) \
72     CPPUNIT_TEST(MichaelSet_RCU_GPT_less_michaelAlloc) \
73     CPPUNIT_TEST(MichaelSet_Lazy_HP_cmp_stdAlloc) \
74     CPPUNIT_TEST(MichaelSet_Lazy_HP_less_michaelAlloc) \
75     CPPUNIT_TEST(MichaelSet_Lazy_PTB_cmp_stdAlloc) \
76     CPPUNIT_TEST(MichaelSet_Lazy_PTB_less_michaelAlloc) \
77     CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPI_cmp_stdAlloc) \
78     CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPI_less_michaelAlloc) \
79     CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPB_cmp_stdAlloc) \
80     CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPB_less_michaelAlloc) \
81     CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPT_cmp_stdAlloc) \
82     CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPT_less_michaelAlloc) \
83     CDSUNIT_TEST_MichaelSet_RCU_signal
84
85
86 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
87 #   define CDSUNIT_DECLARE_SplitList_RCU_signal  \
88     TEST_SET_EXTRACT(SplitList_Michael_RCU_SHB_dyn_cmp)\
89     TEST_SET_EXTRACT(SplitList_Michael_RCU_SHB_st_cmp)\
90     TEST_SET_EXTRACT(SplitList_Michael_RCU_SHB_dyn_less)\
91     TEST_SET_EXTRACT(SplitList_Michael_RCU_SHB_st_less)\
92     TEST_SET_EXTRACT(SplitList_Michael_RCU_SHT_dyn_cmp)\
93     TEST_SET_EXTRACT(SplitList_Michael_RCU_SHT_st_cmp)\
94     TEST_SET_EXTRACT(SplitList_Michael_RCU_SHT_dyn_less)\
95     TEST_SET_EXTRACT(SplitList_Michael_RCU_SHT_st_less)\
96     TEST_SET_EXTRACT(SplitList_Lazy_RCU_SHB_dyn_cmp)\
97     TEST_SET_EXTRACT(SplitList_Lazy_RCU_SHB_st_cmp)\
98     TEST_SET_EXTRACT(SplitList_Lazy_RCU_SHB_dyn_less)\
99     TEST_SET_EXTRACT(SplitList_Lazy_RCU_SHB_st_less)\
100     TEST_SET_EXTRACT(SplitList_Lazy_RCU_SHT_dyn_cmp)\
101     TEST_SET_EXTRACT(SplitList_Lazy_RCU_SHT_st_cmp)\
102     TEST_SET_EXTRACT(SplitList_Lazy_RCU_SHT_dyn_less)\
103     TEST_SET_EXTRACT(SplitList_Lazy_RCU_SHT_st_less)
104
105 #   define CDSUNIT_TEST_SplitList_RCU_signal  \
106     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp)\
107     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_cmp)\
108     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_less)\
109     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_less)\
110     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_cmp)\
111     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_cmp)\
112     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_less)\
113     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_less)\
114     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp)\
115     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_cmp)\
116     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_less)\
117     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_less)\
118     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp)\
119     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_cmp)\
120     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_less)\
121     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_less)
122
123 #else
124 #   define CDSUNIT_DECLARE_SplitList_RCU_signal
125 #   define CDSUNIT_TEST_SplitList_RCU_signal
126 #endif
127
128 #define CDSUNIT_DECLARE_SplitList  \
129     TEST_SET_EXTRACT(SplitList_Michael_HP_dyn_cmp)\
130     TEST_SET_EXTRACT(SplitList_Michael_HP_st_cmp)\
131     TEST_SET_EXTRACT(SplitList_Michael_HP_dyn_less)\
132     TEST_SET_EXTRACT(SplitList_Michael_HP_st_less)\
133     TEST_SET_EXTRACT(SplitList_Michael_PTB_dyn_cmp)\
134     TEST_SET_EXTRACT(SplitList_Michael_PTB_st_cmp)\
135     TEST_SET_EXTRACT(SplitList_Michael_PTB_dyn_less)\
136     TEST_SET_EXTRACT(SplitList_Michael_PTB_st_less)\
137     TEST_SET_EXTRACT(SplitList_Michael_RCU_GPI_dyn_cmp)\
138     TEST_SET_EXTRACT(SplitList_Michael_RCU_GPI_st_cmp)\
139     TEST_SET_EXTRACT(SplitList_Michael_RCU_GPI_dyn_less)\
140     TEST_SET_EXTRACT(SplitList_Michael_RCU_GPI_st_less)\
141     TEST_SET_EXTRACT(SplitList_Michael_RCU_GPB_dyn_cmp)\
142     TEST_SET_EXTRACT(SplitList_Michael_RCU_GPB_st_cmp)\
143     TEST_SET_EXTRACT(SplitList_Michael_RCU_GPB_dyn_less)\
144     TEST_SET_EXTRACT(SplitList_Michael_RCU_GPB_st_less)\
145     TEST_SET_EXTRACT(SplitList_Michael_RCU_GPT_dyn_cmp)\
146     TEST_SET_EXTRACT(SplitList_Michael_RCU_GPT_st_cmp)\
147     TEST_SET_EXTRACT(SplitList_Michael_RCU_GPT_dyn_less)\
148     TEST_SET_EXTRACT(SplitList_Michael_RCU_GPT_st_less)\
149     TEST_SET_EXTRACT(SplitList_Lazy_HP_dyn_cmp)\
150     TEST_SET_EXTRACT(SplitList_Lazy_HP_st_cmp)\
151     TEST_SET_EXTRACT(SplitList_Lazy_HP_dyn_less)\
152     TEST_SET_EXTRACT(SplitList_Lazy_HP_st_less)\
153     TEST_SET_EXTRACT(SplitList_Lazy_PTB_dyn_cmp)\
154     TEST_SET_EXTRACT(SplitList_Lazy_PTB_st_cmp)\
155     TEST_SET_EXTRACT(SplitList_Lazy_PTB_dyn_less)\
156     TEST_SET_EXTRACT(SplitList_Lazy_PTB_st_less)\
157     TEST_SET_EXTRACT(SplitList_Lazy_RCU_GPI_dyn_cmp)\
158     TEST_SET_EXTRACT(SplitList_Lazy_RCU_GPI_st_cmp)\
159     TEST_SET_EXTRACT(SplitList_Lazy_RCU_GPI_dyn_less)\
160     TEST_SET_EXTRACT(SplitList_Lazy_RCU_GPI_st_less)\
161     TEST_SET_EXTRACT(SplitList_Lazy_RCU_GPB_dyn_cmp)\
162     TEST_SET_EXTRACT(SplitList_Lazy_RCU_GPB_st_cmp)\
163     TEST_SET_EXTRACT(SplitList_Lazy_RCU_GPB_dyn_less)\
164     TEST_SET_EXTRACT(SplitList_Lazy_RCU_GPB_st_less)\
165     TEST_SET_EXTRACT(SplitList_Lazy_RCU_GPT_dyn_cmp)\
166     TEST_SET_EXTRACT(SplitList_Lazy_RCU_GPT_st_cmp)\
167     TEST_SET_EXTRACT(SplitList_Lazy_RCU_GPT_dyn_less)\
168     TEST_SET_EXTRACT(SplitList_Lazy_RCU_GPT_st_less)\
169     CDSUNIT_DECLARE_SplitList_RCU_signal
170
171 #define CDSUNIT_TEST_SplitList  \
172     CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp)\
173     CPPUNIT_TEST(SplitList_Michael_HP_st_cmp)\
174     CPPUNIT_TEST(SplitList_Michael_HP_dyn_less)\
175     CPPUNIT_TEST(SplitList_Michael_HP_st_less)\
176     CPPUNIT_TEST(SplitList_Michael_PTB_dyn_cmp)\
177     CPPUNIT_TEST(SplitList_Michael_PTB_st_cmp)\
178     CPPUNIT_TEST(SplitList_Michael_PTB_dyn_less)\
179     CPPUNIT_TEST(SplitList_Michael_PTB_st_less)\
180     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp)\
181     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_cmp)\
182     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_less)\
183     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less)\
184     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp)\
185     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_cmp)\
186     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_less)\
187     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less)\
188     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp)\
189     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_cmp)\
190     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_less)\
191     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less)\
192     CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp)\
193     CPPUNIT_TEST(SplitList_Lazy_HP_st_cmp)\
194     CPPUNIT_TEST(SplitList_Lazy_HP_dyn_less)\
195     CPPUNIT_TEST(SplitList_Lazy_HP_st_less)\
196     CPPUNIT_TEST(SplitList_Lazy_PTB_dyn_cmp)\
197     CPPUNIT_TEST(SplitList_Lazy_PTB_st_cmp)\
198     CPPUNIT_TEST(SplitList_Lazy_PTB_dyn_less)\
199     CPPUNIT_TEST(SplitList_Lazy_PTB_st_less)\
200     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp)\
201     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_cmp)\
202     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_less)\
203     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less)\
204     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp)\
205     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_cmp)\
206     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_less)\
207     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less)\
208     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp)\
209     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_cmp)\
210     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_less)\
211     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less)\
212     CDSUNIT_TEST_SplitList_RCU_signal
213
214
215 #define CDSUNIT_DECLARE_CuckooSet \
216     TEST_SET(CuckooStripedSet_list_unord)\
217     TEST_SET(CuckooStripedSet_list_unord_stat)\
218     TEST_SET(CuckooStripedSet_list_ord)\
219     TEST_SET(CuckooStripedSet_list_ord_stat)\
220     TEST_SET(CuckooStripedSet_vector_unord)\
221     TEST_SET(CuckooStripedSet_vector_ord)\
222     TEST_SET(CuckooStripedSet_vector_unord_stat)\
223     TEST_SET(CuckooStripedSet_vector_ord_stat)\
224     TEST_SET(CuckooRefinableSet_list_unord)\
225     TEST_SET(CuckooRefinableSet_list_ord)\
226     TEST_SET(CuckooRefinableSet_list_unord_stat)\
227     TEST_SET(CuckooRefinableSet_list_ord_stat)\
228     TEST_SET(CuckooRefinableSet_vector_unord)\
229     TEST_SET(CuckooRefinableSet_vector_unord_stat)\
230     TEST_SET(CuckooRefinableSet_vector_ord) \
231     TEST_SET(CuckooRefinableSet_vector_ord_stat) \
232     TEST_SET(CuckooStripedSet_list_unord_storehash)\
233     TEST_SET(CuckooStripedSet_list_ord_storehash)\
234     TEST_SET(CuckooStripedSet_vector_unord_storehash)\
235     TEST_SET(CuckooStripedSet_vector_ord_storehash)\
236     TEST_SET(CuckooRefinableSet_list_unord_storehash)\
237     TEST_SET(CuckooRefinableSet_list_ord_storehash)\
238     TEST_SET(CuckooRefinableSet_vector_unord_storehash)\
239     TEST_SET(CuckooRefinableSet_vector_ord_storehash)
240
241
242 #define CDSUNIT_TEST_CuckooSet \
243     CPPUNIT_TEST(CuckooStripedSet_list_unord)\
244     CPPUNIT_TEST(CuckooStripedSet_list_unord_stat)\
245     CPPUNIT_TEST(CuckooStripedSet_list_unord_storehash)\
246     CPPUNIT_TEST(CuckooStripedSet_list_ord)\
247     CPPUNIT_TEST(CuckooStripedSet_list_ord_stat)\
248     CPPUNIT_TEST(CuckooStripedSet_list_ord_storehash)\
249     CPPUNIT_TEST(CuckooStripedSet_vector_unord)\
250     CPPUNIT_TEST(CuckooStripedSet_vector_unord_stat)\
251     CPPUNIT_TEST(CuckooStripedSet_vector_unord_storehash)\
252     CPPUNIT_TEST(CuckooStripedSet_vector_ord)\
253     CPPUNIT_TEST(CuckooStripedSet_vector_ord_stat)\
254     CPPUNIT_TEST(CuckooStripedSet_vector_ord_storehash)\
255     CPPUNIT_TEST(CuckooRefinableSet_list_unord)\
256     CPPUNIT_TEST(CuckooRefinableSet_list_unord_stat)\
257     CPPUNIT_TEST(CuckooRefinableSet_list_unord_storehash)\
258     CPPUNIT_TEST(CuckooRefinableSet_list_ord)\
259     CPPUNIT_TEST(CuckooRefinableSet_list_ord_stat)\
260     CPPUNIT_TEST(CuckooRefinableSet_list_ord_storehash)\
261     CPPUNIT_TEST(CuckooRefinableSet_vector_unord)\
262     CPPUNIT_TEST(CuckooRefinableSet_vector_unord_stat)\
263     CPPUNIT_TEST(CuckooRefinableSet_vector_unord_storehash)\
264     CPPUNIT_TEST(CuckooRefinableSet_vector_ord) \
265     CPPUNIT_TEST(CuckooRefinableSet_vector_ord_stat) \
266     CPPUNIT_TEST(CuckooRefinableSet_vector_ord_storehash)
267
268
269
270 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
271 #   define CDSUNIT_DECLARE_SkipListSet_RCU_signal \
272     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_shb_less_pascal)\
273     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_shb_cmp_pascal_stat)\
274     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_shb_less_xorshift)\
275     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_shb_cmp_xorshift_stat)\
276     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_sht_less_pascal)\
277     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_sht_cmp_pascal_stat)\
278     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_sht_less_xorshift)\
279     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_sht_cmp_xorshift_stat)
280
281 #   define CDSUNIT_TEST_SkipListSet_RCU_signal \
282     CPPUNIT_TEST(SkipListSet_rcu_shb_less_pascal)\
283     CPPUNIT_TEST(SkipListSet_rcu_shb_cmp_pascal_stat)\
284     CPPUNIT_TEST(SkipListSet_rcu_shb_less_xorshift)\
285     CPPUNIT_TEST(SkipListSet_rcu_shb_cmp_xorshift_stat)\
286     CPPUNIT_TEST(SkipListSet_rcu_sht_less_pascal)\
287     CPPUNIT_TEST(SkipListSet_rcu_sht_cmp_pascal_stat)\
288     CPPUNIT_TEST(SkipListSet_rcu_sht_less_xorshift)\
289     CPPUNIT_TEST(SkipListSet_rcu_sht_cmp_xorshift_stat)
290
291 #else
292 #   define CDSUNIT_DECLARE_SkipListSet_RCU_signal
293 #   define CDSUNIT_TEST_SkipListSet_RCU_signal
294 #endif
295
296 #define CDSUNIT_DECLARE_SkipListSet \
297     TEST_SET_NOLF_EXTRACT(SkipListSet_hp_less_pascal)\
298     TEST_SET_NOLF_EXTRACT(SkipListSet_hp_cmp_pascal_stat)\
299     TEST_SET_NOLF_EXTRACT(SkipListSet_hp_less_xorshift)\
300     TEST_SET_NOLF_EXTRACT(SkipListSet_hp_cmp_xorshift_stat)\
301     TEST_SET_NOLF_EXTRACT(SkipListSet_ptb_less_pascal)\
302     TEST_SET_NOLF_EXTRACT(SkipListSet_ptb_cmp_pascal_stat)\
303     TEST_SET_NOLF_EXTRACT(SkipListSet_ptb_less_xorshift)\
304     TEST_SET_NOLF_EXTRACT(SkipListSet_ptb_cmp_xorshift_stat)\
305     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpi_less_pascal)\
306     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpi_cmp_pascal_stat)\
307     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpi_less_xorshift)\
308     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpi_cmp_xorshift_stat)\
309     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpb_less_pascal)\
310     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpb_cmp_pascal_stat)\
311     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpb_less_xorshift)\
312     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpb_cmp_xorshift_stat)\
313     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpt_less_pascal)\
314     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpt_cmp_pascal_stat)\
315     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpt_less_xorshift)\
316     TEST_SET_NOLF_EXTRACT(SkipListSet_rcu_gpt_cmp_xorshift_stat)\
317     CDSUNIT_DECLARE_SkipListSet_RCU_signal
318
319 #define CDSUNIT_TEST_SkipListSet \
320     CPPUNIT_TEST(SkipListSet_hp_less_pascal)\
321     CPPUNIT_TEST(SkipListSet_hp_cmp_pascal_stat)\
322     CPPUNIT_TEST(SkipListSet_hp_less_xorshift)\
323     CPPUNIT_TEST(SkipListSet_hp_cmp_xorshift_stat)\
324     CPPUNIT_TEST(SkipListSet_ptb_less_pascal)\
325     CPPUNIT_TEST(SkipListSet_ptb_cmp_pascal_stat)\
326     CPPUNIT_TEST(SkipListSet_ptb_less_xorshift)\
327     CPPUNIT_TEST(SkipListSet_ptb_cmp_xorshift_stat)\
328     CPPUNIT_TEST(SkipListSet_rcu_gpi_less_pascal)\
329     CPPUNIT_TEST(SkipListSet_rcu_gpi_cmp_pascal_stat)\
330     CPPUNIT_TEST(SkipListSet_rcu_gpi_less_xorshift)\
331     CPPUNIT_TEST(SkipListSet_rcu_gpi_cmp_xorshift_stat)\
332     CPPUNIT_TEST(SkipListSet_rcu_gpb_less_pascal)\
333     CPPUNIT_TEST(SkipListSet_rcu_gpb_cmp_pascal_stat)\
334     CPPUNIT_TEST(SkipListSet_rcu_gpb_less_xorshift)\
335     CPPUNIT_TEST(SkipListSet_rcu_gpb_cmp_xorshift_stat)\
336     CPPUNIT_TEST(SkipListSet_rcu_gpt_less_pascal)\
337     CPPUNIT_TEST(SkipListSet_rcu_gpt_cmp_pascal_stat)\
338     CPPUNIT_TEST(SkipListSet_rcu_gpt_less_xorshift)\
339     CPPUNIT_TEST(SkipListSet_rcu_gpt_cmp_xorshift_stat)\
340     CDSUNIT_TEST_SkipListSet_RCU_signal
341
342
343 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
344 #   define CDSUNIT_DECLARE_EllenBinTreeSet_RCU_signal \
345         TEST_SET_NOLF_EXTRACT(EllenBinTreeSet_rcu_shb)\
346         TEST_SET_NOLF_EXTRACT(EllenBinTreeSet_rcu_shb_stat)\
347         TEST_SET_NOLF_EXTRACT(EllenBinTreeSet_rcu_sht)\
348         TEST_SET_NOLF_EXTRACT(EllenBinTreeSet_rcu_sht_stat)
349
350 #   define CDSUNIT_TEST_EllenBinTreeSet_RCU_signal \
351         CPPUNIT_TEST(EllenBinTreeSet_rcu_shb)\
352         CPPUNIT_TEST(EllenBinTreeSet_rcu_shb_stat)\
353         CPPUNIT_TEST(EllenBinTreeSet_rcu_sht)\
354         CPPUNIT_TEST(EllenBinTreeSet_rcu_sht_stat)
355 #else
356 #   define CDSUNIT_DECLARE_EllenBinTreeSet_RCU_signal
357 #   define CDSUNIT_TEST_EllenBinTreeSet_RCU_signal
358 #endif
359
360 #define CDSUNIT_DECLARE_EllenBinTreeSet \
361     TEST_SET_NOLF_EXTRACT(EllenBinTreeSet_hp)\
362     TEST_SET_NOLF_EXTRACT(EllenBinTreeSet_hp_stat)\
363     TEST_SET_NOLF_EXTRACT(EllenBinTreeSet_ptb)\
364     TEST_SET_NOLF_EXTRACT(EllenBinTreeSet_ptb_stat)\
365     TEST_SET_NOLF_EXTRACT(EllenBinTreeSet_rcu_gpi)\
366     TEST_SET_NOLF_EXTRACT(EllenBinTreeSet_rcu_gpi_stat)\
367     TEST_SET_NOLF_EXTRACT(EllenBinTreeSet_rcu_gpb)\
368     TEST_SET_NOLF_EXTRACT(EllenBinTreeSet_rcu_gpb_stat)\
369     TEST_SET_NOLF_EXTRACT(EllenBinTreeSet_rcu_gpt)\
370     TEST_SET_NOLF_EXTRACT(EllenBinTreeSet_rcu_gpt_stat)\
371     CDSUNIT_DECLARE_EllenBinTreeSet_RCU_signal
372
373 #define CDSUNIT_TEST_EllenBinTreeSet \
374     CPPUNIT_TEST(EllenBinTreeSet_hp)\
375     CPPUNIT_TEST(EllenBinTreeSet_hp_stat)\
376     CPPUNIT_TEST(EllenBinTreeSet_ptb)\
377     CPPUNIT_TEST(EllenBinTreeSet_ptb_stat)\
378     CPPUNIT_TEST(EllenBinTreeSet_rcu_gpi)\
379     /*CPPUNIT_TEST(EllenBinTreeSet_rcu_gpi_stat)*/\
380     CPPUNIT_TEST(EllenBinTreeSet_rcu_gpb)\
381     CPPUNIT_TEST(EllenBinTreeSet_rcu_gpb_stat)\
382     CPPUNIT_TEST(EllenBinTreeSet_rcu_gpt)\
383     CPPUNIT_TEST(EllenBinTreeSet_rcu_gpt_stat)\
384     CDSUNIT_TEST_EllenBinTreeSet_RCU_signal
385
386
387
388 #define CDSUNIT_DECLARE_StripedSet_common \
389     TEST_SET(StripedSet_list) \
390     TEST_SET(StripedSet_vector) \
391     TEST_SET(StripedSet_set) \
392     TEST_SET(StripedSet_hashset) \
393     TEST_SET(StripedSet_boost_unordered_set)
394 #define CDSUNIT_TEST_StripedSet_common \
395     CPPUNIT_TEST(StripedSet_list) \
396     CPPUNIT_TEST(StripedSet_vector) \
397     CPPUNIT_TEST(StripedSet_set) \
398     CPPUNIT_TEST(StripedSet_hashset) \
399     CPPUNIT_TEST(StripedSet_boost_unordered_set)
400
401 #if BOOST_VERSION >= 104800
402 #   define CDSUNIT_DECLARE_StripedSet_boost_container \
403     TEST_SET(StripedSet_boost_list) \
404     TEST_SET(StripedSet_boost_slist) \
405     TEST_SET(StripedSet_boost_vector) \
406     TEST_SET(StripedSet_boost_stable_vector) \
407     TEST_SET(StripedSet_boost_set)
408 #   define CDSUNIT_TEST_StripedSet_boost_container \
409     CPPUNIT_TEST(StripedSet_boost_list) \
410     CPPUNIT_TEST(StripedSet_boost_slist) \
411     CPPUNIT_TEST(StripedSet_boost_vector) \
412     CPPUNIT_TEST(StripedSet_boost_stable_vector) \
413     CPPUNIT_TEST(StripedSet_boost_set)
414 #else
415 #   define CDSUNIT_DECLARE_StripedSet_boost_container
416 #   define CDSUNIT_TEST_StripedSet_boost_container
417 #endif
418
419 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_SET_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
420 #   define CDSUNIT_DECLARE_StripedSet_boost_flat_container \
421     TEST_SET(StripedSet_boost_flat_set)
422 #   define CDSUNIT_TEST_StripedSet_boost_flat_container \
423     CPPUNIT_TEST(StripedSet_boost_flat_set)
424 #else
425 #   define CDSUNIT_DECLARE_StripedSet_boost_flat_container
426 #   define CDSUNIT_TEST_StripedSet_boost_flat_container
427 #endif
428
429 #define CDSUNIT_DECLARE_StripedSet \
430     CDSUNIT_DECLARE_StripedSet_common \
431     CDSUNIT_DECLARE_StripedSet_boost_container \
432     CDSUNIT_DECLARE_StripedSet_boost_flat_container
433 #define CDSUNIT_TEST_StripedSet \
434     CDSUNIT_TEST_StripedSet_common \
435     CDSUNIT_TEST_StripedSet_boost_container \
436     CDSUNIT_TEST_StripedSet_boost_flat_container
437
438
439 #define CDSUNIT_DECLARE_RefinableSet_common \
440     TEST_SET(RefinableSet_list) \
441     TEST_SET(RefinableSet_vector) \
442     TEST_SET(RefinableSet_set) \
443     TEST_SET(RefinableSet_hashset) \
444     TEST_SET(RefinableSet_boost_unordered_set)
445 #define CDSUNIT_TEST_RefinableSet_common \
446     CPPUNIT_TEST(RefinableSet_list) \
447     CPPUNIT_TEST(RefinableSet_vector) \
448     CPPUNIT_TEST(RefinableSet_set) \
449     CPPUNIT_TEST(RefinableSet_hashset) \
450     CPPUNIT_TEST(RefinableSet_boost_unordered_set)
451
452 #if BOOST_VERSION >= 104800
453 #   define CDSUNIT_DECLARE_RefinableSet_boost_container \
454     TEST_SET(RefinableSet_boost_list) \
455     TEST_SET(RefinableSet_boost_slist) \
456     TEST_SET(RefinableSet_boost_vector) \
457     TEST_SET(RefinableSet_boost_stable_vector) \
458     TEST_SET(RefinableSet_boost_set)
459 #   define CDSUNIT_TEST_RefinableSet_boost_container \
460     CPPUNIT_TEST(RefinableSet_boost_list) \
461     CPPUNIT_TEST(RefinableSet_boost_slist) \
462     CPPUNIT_TEST(RefinableSet_boost_vector) \
463     CPPUNIT_TEST(RefinableSet_boost_stable_vector) \
464     CPPUNIT_TEST(RefinableSet_boost_set)
465 #else
466 #   define CDSUNIT_DECLARE_RefinableSet_boost_container
467 #   define CDSUNIT_TEST_RefinableSet_boost_container
468 #endif
469
470 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_SET_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
471 #   define CDSUNIT_DECLARE_RefinableSet_boost_flat_container \
472     TEST_SET(RefinableSet_boost_flat_set)
473 #   define CDSUNIT_TEST_RefinableSet_boost_flat_container \
474     CPPUNIT_TEST(RefinableSet_boost_flat_set)
475 #else
476 #   define CDSUNIT_DECLARE_RefinableSet_boost_flat_container
477 #   define CDSUNIT_TEST_RefinableSet_boost_flat_container
478 #endif
479
480 #define CDSUNIT_DECLARE_RefinableSet \
481     CDSUNIT_DECLARE_RefinableSet_common \
482     CDSUNIT_DECLARE_RefinableSet_boost_container \
483     CDSUNIT_DECLARE_RefinableSet_boost_flat_container
484 #define CDSUNIT_TEST_RefinableSet \
485     CDSUNIT_TEST_RefinableSet_common \
486     CDSUNIT_TEST_RefinableSet_boost_container \
487     CDSUNIT_TEST_RefinableSet_boost_flat_container
488
489 #endif // #ifndef _CDSUNIT_SET2_SET_DEFS_H