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