Renamed MultiLevelHashSet/Map to FeldmanHashSet/Map
[libcds.git] / tests / unit / set2 / set_defs.h
1 //$$CDS-header$$
2
3 #define CDSUNIT_DECLARE_StdSet \
4     TEST_CASE( tag_StdSet, StdSet_Spin) \
5     TEST_CASE( tag_StdSet, StdSet_Mutex) \
6     TEST_CASE( tag_StdSet, StdHashSet_Spin)
7
8 #define CDSUNIT_TEST_StdSet \
9     CPPUNIT_TEST(StdSet_Spin) \
10     CPPUNIT_TEST(StdSet_Mutex) \
11     CPPUNIT_TEST(StdHashSet_Spin)
12
13 //********************************************************************
14 // MichaelHashSet
15
16 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
17 #   define CDSUNIT_DECLARE_MichaelSet_RCU_signal  \
18     TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_SHB_cmp_stdAlloc) \
19     TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_SHB_less_michaelAlloc) \
20     TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_SHT_cmp_stdAlloc) \
21     TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_SHT_less_michaelAlloc) \
22     TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_SHB_cmp_stdAlloc) \
23     TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_SHB_less_michaelAlloc) \
24     TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_SHT_cmp_stdAlloc) \
25     TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_SHT_less_michaelAlloc)
26
27 #   define CDSUNIT_TEST_MichaelSet_RCU_signal  \
28     CPPUNIT_TEST(MichaelSet_RCU_SHB_cmp_stdAlloc) \
29     CPPUNIT_TEST(MichaelSet_RCU_SHB_less_michaelAlloc) \
30     CPPUNIT_TEST(MichaelSet_RCU_SHT_cmp_stdAlloc) \
31     CPPUNIT_TEST(MichaelSet_RCU_SHT_less_michaelAlloc) \
32     CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHB_cmp_stdAlloc) \
33     CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHB_less_michaelAlloc) \
34     CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHT_cmp_stdAlloc) \
35     CPPUNIT_TEST(MichaelSet_Lazy_RCU_SHT_less_michaelAlloc)
36 #else
37 #   define CDSUNIT_DECLARE_MichaelSet_RCU_signal
38 #   define CDSUNIT_TEST_MichaelSet_RCU_signal
39 #endif
40
41
42 #define CDSUNIT_DECLARE_MichaelSet  \
43     TEST_CASE(tag_MichaelHashSet, MichaelSet_HP_cmp_stdAlloc) \
44     TEST_CASE(tag_MichaelHashSet, MichaelSet_HP_less_michaelAlloc) \
45     TEST_CASE(tag_MichaelHashSet, MichaelSet_DHP_cmp_stdAlloc) \
46     TEST_CASE(tag_MichaelHashSet, MichaelSet_DHP_less_michaelAlloc) \
47     TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_GPI_cmp_stdAlloc) \
48     TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_GPI_less_michaelAlloc) \
49     TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_GPB_cmp_stdAlloc) \
50     TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_GPB_less_michaelAlloc) \
51     TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_GPT_cmp_stdAlloc) \
52     TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_GPT_less_michaelAlloc) \
53     TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_HP_cmp_stdAlloc) \
54     TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_HP_less_michaelAlloc) \
55     TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_DHP_cmp_stdAlloc) \
56     TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_DHP_less_michaelAlloc) \
57     TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_GPI_cmp_stdAlloc) \
58     TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_GPI_less_michaelAlloc) \
59     TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_GPB_cmp_stdAlloc) \
60     TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_GPB_less_michaelAlloc) \
61     TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_GPT_cmp_stdAlloc) \
62     TEST_CASE(tag_MichaelHashSet, MichaelSet_Lazy_RCU_GPT_less_michaelAlloc) \
63     CDSUNIT_DECLARE_MichaelSet_RCU_signal
64
65 #define CDSUNIT_TEST_MichaelSet  \
66     CPPUNIT_TEST(MichaelSet_HP_cmp_stdAlloc) \
67     CPPUNIT_TEST(MichaelSet_HP_less_michaelAlloc) \
68     CPPUNIT_TEST(MichaelSet_DHP_cmp_stdAlloc) \
69     CPPUNIT_TEST(MichaelSet_DHP_less_michaelAlloc) \
70     CPPUNIT_TEST(MichaelSet_RCU_GPI_cmp_stdAlloc) \
71     CPPUNIT_TEST(MichaelSet_RCU_GPI_less_michaelAlloc) \
72     CPPUNIT_TEST(MichaelSet_RCU_GPB_cmp_stdAlloc) \
73     CPPUNIT_TEST(MichaelSet_RCU_GPB_less_michaelAlloc) \
74     CPPUNIT_TEST(MichaelSet_RCU_GPT_cmp_stdAlloc) \
75     CPPUNIT_TEST(MichaelSet_RCU_GPT_less_michaelAlloc) \
76     CPPUNIT_TEST(MichaelSet_Lazy_HP_cmp_stdAlloc) \
77     CPPUNIT_TEST(MichaelSet_Lazy_HP_less_michaelAlloc) \
78     CPPUNIT_TEST(MichaelSet_Lazy_DHP_cmp_stdAlloc) \
79     CPPUNIT_TEST(MichaelSet_Lazy_DHP_less_michaelAlloc) \
80     CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPI_cmp_stdAlloc) \
81     CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPI_less_michaelAlloc) \
82     CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPB_cmp_stdAlloc) \
83     CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPB_less_michaelAlloc) \
84     CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPT_cmp_stdAlloc) \
85     CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPT_less_michaelAlloc) \
86     CDSUNIT_TEST_MichaelSet_RCU_signal
87
88 //********************************************************************
89 // SplitListSet
90
91 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
92 #   define CDSUNIT_DECLARE_SplitList_RCU_signal  \
93     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHB_dyn_cmp)\
94     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHB_dyn_cmp_stat)\
95     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHB_st_cmp)\
96     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHB_dyn_less)\
97     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHB_st_less)\
98     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHB_st_less_stat)\
99     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHT_dyn_cmp)\
100     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHT_dyn_cmp_stat)\
101     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHT_st_cmp)\
102     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHT_dyn_less)\
103     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHT_st_less)\
104     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_SHT_st_less_stat)\
105     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHB_dyn_cmp)\
106     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\
107     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHB_st_cmp)\
108     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHB_dyn_less)\
109     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHB_st_less)\
110     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHB_st_less_stat)\
111     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHT_dyn_cmp)\
112     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\
113     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHT_st_cmp)\
114     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHT_dyn_less)\
115     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHT_st_less)\
116     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_SHT_st_less_stat)
117
118 #   define CDSUNIT_TEST_SplitList_RCU_signal  \
119     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp)\
120     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp_stat)\
121     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_cmp)\
122     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_less)\
123     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_less)\
124     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_less_stat)\
125     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_cmp)\
126     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_cmp_stat)\
127     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_cmp)\
128     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_less)\
129     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_less)\
130     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_less_stat)\
131     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp)\
132     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\
133     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_cmp)\
134     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_less)\
135     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_less)\
136     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_less_stat)\
137     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp)\
138     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\
139     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_cmp)\
140     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_less)\
141     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_less)\
142     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_less_stat)
143
144 #else
145 #   define CDSUNIT_DECLARE_SplitList_RCU_signal
146 #   define CDSUNIT_TEST_SplitList_RCU_signal
147 #endif
148
149 #define CDSUNIT_DECLARE_SplitList  \
150     TEST_CASE(tag_SplitListSet, SplitList_Michael_HP_dyn_cmp)\
151     TEST_CASE(tag_SplitListSet, SplitList_Michael_HP_dyn_cmp_stat)\
152     TEST_CASE(tag_SplitListSet, SplitList_Michael_HP_st_cmp)\
153     TEST_CASE(tag_SplitListSet, SplitList_Michael_HP_dyn_less)\
154     TEST_CASE(tag_SplitListSet, SplitList_Michael_HP_st_less)\
155     TEST_CASE(tag_SplitListSet, SplitList_Michael_HP_st_less_stat)\
156     TEST_CASE(tag_SplitListSet, SplitList_Michael_DHP_dyn_cmp)\
157     TEST_CASE(tag_SplitListSet, SplitList_Michael_DHP_dyn_cmp_stat)\
158     TEST_CASE(tag_SplitListSet, SplitList_Michael_DHP_st_cmp)\
159     TEST_CASE(tag_SplitListSet, SplitList_Michael_DHP_dyn_less)\
160     TEST_CASE(tag_SplitListSet, SplitList_Michael_DHP_st_less)\
161     TEST_CASE(tag_SplitListSet, SplitList_Michael_DHP_st_less_stat)\
162     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPI_dyn_cmp)\
163     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
164     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPI_st_cmp)\
165     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPI_dyn_less)\
166     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPI_st_less)\
167     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPI_st_less_stat)\
168     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPB_dyn_cmp)\
169     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
170     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPB_st_cmp)\
171     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPB_dyn_less)\
172     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPB_st_less)\
173     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPB_st_less_stat)\
174     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPT_dyn_cmp)\
175     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
176     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPT_st_cmp)\
177     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPT_dyn_less)\
178     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPT_st_less)\
179     TEST_CASE(tag_SplitListSet, SplitList_Michael_RCU_GPT_st_less_stat)\
180     TEST_CASE(tag_SplitListSet, SplitList_Lazy_HP_dyn_cmp)\
181     TEST_CASE(tag_SplitListSet, SplitList_Lazy_HP_dyn_cmp_stat)\
182     TEST_CASE(tag_SplitListSet, SplitList_Lazy_HP_st_cmp)\
183     TEST_CASE(tag_SplitListSet, SplitList_Lazy_HP_dyn_less)\
184     TEST_CASE(tag_SplitListSet, SplitList_Lazy_HP_st_less)\
185     TEST_CASE(tag_SplitListSet, SplitList_Lazy_HP_st_less_stat)\
186     TEST_CASE(tag_SplitListSet, SplitList_Lazy_DHP_dyn_cmp)\
187     TEST_CASE(tag_SplitListSet, SplitList_Lazy_DHP_dyn_cmp_stat)\
188     TEST_CASE(tag_SplitListSet, SplitList_Lazy_DHP_st_cmp)\
189     TEST_CASE(tag_SplitListSet, SplitList_Lazy_DHP_dyn_less)\
190     TEST_CASE(tag_SplitListSet, SplitList_Lazy_DHP_st_less)\
191     TEST_CASE(tag_SplitListSet, SplitList_Lazy_DHP_st_less_stat)\
192     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPI_dyn_cmp)\
193     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
194     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPI_st_cmp)\
195     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPI_dyn_less)\
196     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPI_st_less)\
197     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPI_st_less_stat)\
198     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPB_dyn_cmp)\
199     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
200     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPB_st_cmp)\
201     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPB_dyn_less)\
202     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPB_st_less)\
203     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPB_st_less_stat)\
204     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPT_dyn_cmp)\
205     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
206     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPT_st_cmp)\
207     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPT_dyn_less)\
208     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPT_st_less)\
209     TEST_CASE(tag_SplitListSet, SplitList_Lazy_RCU_GPT_st_less_stat)\
210     CDSUNIT_DECLARE_SplitList_RCU_signal
211
212 #define CDSUNIT_TEST_SplitList  \
213     CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp)\
214     CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp_stat)\
215     CPPUNIT_TEST(SplitList_Michael_HP_st_cmp)\
216     CPPUNIT_TEST(SplitList_Michael_HP_dyn_less)\
217     CPPUNIT_TEST(SplitList_Michael_HP_st_less)\
218     CPPUNIT_TEST(SplitList_Michael_HP_st_less_stat)\
219     CPPUNIT_TEST(SplitList_Michael_DHP_dyn_cmp)\
220     CPPUNIT_TEST(SplitList_Michael_DHP_dyn_cmp_stat)\
221     CPPUNIT_TEST(SplitList_Michael_DHP_st_cmp)\
222     CPPUNIT_TEST(SplitList_Michael_DHP_dyn_less)\
223     CPPUNIT_TEST(SplitList_Michael_DHP_st_less)\
224     CPPUNIT_TEST(SplitList_Michael_DHP_st_less_stat)\
225     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp)\
226     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
227     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_cmp)\
228     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_less)\
229     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less)\
230     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less_stat)\
231     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp)\
232     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
233     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_cmp)\
234     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_less)\
235     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less)\
236     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less_stat)\
237     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp)\
238     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
239     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_cmp)\
240     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_less)\
241     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less)\
242     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less_stat)\
243     CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp)\
244     CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp_stat)\
245     CPPUNIT_TEST(SplitList_Lazy_HP_st_cmp)\
246     CPPUNIT_TEST(SplitList_Lazy_HP_dyn_less)\
247     CPPUNIT_TEST(SplitList_Lazy_HP_st_less)\
248     CPPUNIT_TEST(SplitList_Lazy_HP_st_less_stat)\
249     CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_cmp)\
250     CPPUNIT_TEST(SplitList_Lazy_HP_st_less_stat)\
251     CPPUNIT_TEST(SplitList_Lazy_DHP_st_cmp)\
252     CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_less)\
253     CPPUNIT_TEST(SplitList_Lazy_DHP_st_less)\
254     CPPUNIT_TEST(SplitList_Lazy_DHP_st_less_stat)\
255     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp)\
256     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
257     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_cmp)\
258     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_less)\
259     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less)\
260     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less_stat)\
261     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp)\
262     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
263     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_cmp)\
264     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_less)\
265     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less)\
266     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less_stat)\
267     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp)\
268     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
269     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_cmp)\
270     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_less)\
271     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less)\
272     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less_stat)\
273     CDSUNIT_TEST_SplitList_RCU_signal
274
275 //********************************************************************
276 // CuckooSet
277
278 #define CDSUNIT_DECLARE_CuckooSet \
279     TEST_CASE(tag_CuckooSet, CuckooStripedSet_list_unord)\
280     TEST_CASE(tag_CuckooSet, CuckooStripedSet_list_unord_stat)\
281     TEST_CASE(tag_CuckooSet, CuckooStripedSet_list_ord)\
282     TEST_CASE(tag_CuckooSet, CuckooStripedSet_list_ord_stat)\
283     TEST_CASE(tag_CuckooSet, CuckooStripedSet_vector_unord)\
284     TEST_CASE(tag_CuckooSet, CuckooStripedSet_vector_ord)\
285     TEST_CASE(tag_CuckooSet, CuckooStripedSet_vector_unord_stat)\
286     TEST_CASE(tag_CuckooSet, CuckooStripedSet_vector_ord_stat)\
287     TEST_CASE(tag_CuckooSet, CuckooRefinableSet_list_unord)\
288     TEST_CASE(tag_CuckooSet, CuckooRefinableSet_list_ord)\
289     TEST_CASE(tag_CuckooSet, CuckooRefinableSet_list_unord_stat)\
290     TEST_CASE(tag_CuckooSet, CuckooRefinableSet_list_ord_stat)\
291     TEST_CASE(tag_CuckooSet, CuckooRefinableSet_vector_unord)\
292     TEST_CASE(tag_CuckooSet, CuckooRefinableSet_vector_unord_stat)\
293     TEST_CASE(tag_CuckooSet, CuckooRefinableSet_vector_ord) \
294     TEST_CASE(tag_CuckooSet, CuckooRefinableSet_vector_ord_stat) \
295     TEST_CASE(tag_CuckooSet, CuckooStripedSet_list_unord_storehash)\
296     TEST_CASE(tag_CuckooSet, CuckooStripedSet_list_ord_storehash)\
297     TEST_CASE(tag_CuckooSet, CuckooStripedSet_vector_unord_storehash)\
298     TEST_CASE(tag_CuckooSet, CuckooStripedSet_vector_ord_storehash)\
299     TEST_CASE(tag_CuckooSet, CuckooRefinableSet_list_unord_storehash)\
300     TEST_CASE(tag_CuckooSet, CuckooRefinableSet_list_ord_storehash)\
301     TEST_CASE(tag_CuckooSet, CuckooRefinableSet_vector_unord_storehash)\
302     TEST_CASE(tag_CuckooSet, CuckooRefinableSet_vector_ord_storehash)
303
304 #define CDSUNIT_TEST_CuckooSet \
305     CPPUNIT_TEST(CuckooStripedSet_list_unord)\
306     CPPUNIT_TEST(CuckooStripedSet_list_unord_stat)\
307     CPPUNIT_TEST(CuckooStripedSet_list_unord_storehash)\
308     CPPUNIT_TEST(CuckooStripedSet_list_ord)\
309     CPPUNIT_TEST(CuckooStripedSet_list_ord_stat)\
310     CPPUNIT_TEST(CuckooStripedSet_list_ord_storehash)\
311     CPPUNIT_TEST(CuckooStripedSet_vector_unord)\
312     CPPUNIT_TEST(CuckooStripedSet_vector_unord_stat)\
313     CPPUNIT_TEST(CuckooStripedSet_vector_unord_storehash)\
314     CPPUNIT_TEST(CuckooStripedSet_vector_ord)\
315     CPPUNIT_TEST(CuckooStripedSet_vector_ord_stat)\
316     CPPUNIT_TEST(CuckooStripedSet_vector_ord_storehash)\
317     CPPUNIT_TEST(CuckooRefinableSet_list_unord)\
318     CPPUNIT_TEST(CuckooRefinableSet_list_unord_stat)\
319     CPPUNIT_TEST(CuckooRefinableSet_list_unord_storehash)\
320     CPPUNIT_TEST(CuckooRefinableSet_list_ord)\
321     CPPUNIT_TEST(CuckooRefinableSet_list_ord_stat)\
322     CPPUNIT_TEST(CuckooRefinableSet_list_ord_storehash)\
323     CPPUNIT_TEST(CuckooRefinableSet_vector_unord)\
324     CPPUNIT_TEST(CuckooRefinableSet_vector_unord_stat)\
325     CPPUNIT_TEST(CuckooRefinableSet_vector_unord_storehash)\
326     CPPUNIT_TEST(CuckooRefinableSet_vector_ord) \
327     CPPUNIT_TEST(CuckooRefinableSet_vector_ord_stat) \
328     CPPUNIT_TEST(CuckooRefinableSet_vector_ord_storehash)
329
330 //********************************************************************
331 // SkipListSet
332
333 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
334 #   define CDSUNIT_DECLARE_SkipListSet_RCU_signal \
335     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_shb_less_pascal)\
336     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_shb_cmp_pascal_stat)\
337     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_shb_less_xorshift)\
338     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_shb_cmp_xorshift_stat)\
339     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_sht_less_pascal)\
340     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_sht_cmp_pascal_stat)\
341     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_sht_less_xorshift)\
342     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_sht_cmp_xorshift_stat)
343
344 #   define CDSUNIT_TEST_SkipListSet_RCU_signal \
345     CPPUNIT_TEST(SkipListSet_rcu_shb_less_pascal)\
346     CPPUNIT_TEST(SkipListSet_rcu_shb_cmp_pascal_stat)\
347     CPPUNIT_TEST(SkipListSet_rcu_shb_less_xorshift)\
348     CPPUNIT_TEST(SkipListSet_rcu_shb_cmp_xorshift_stat)\
349     CPPUNIT_TEST(SkipListSet_rcu_sht_less_pascal)\
350     CPPUNIT_TEST(SkipListSet_rcu_sht_cmp_pascal_stat)\
351     CPPUNIT_TEST(SkipListSet_rcu_sht_less_xorshift)\
352     CPPUNIT_TEST(SkipListSet_rcu_sht_cmp_xorshift_stat)
353
354 #else
355 #   define CDSUNIT_DECLARE_SkipListSet_RCU_signal
356 #   define CDSUNIT_TEST_SkipListSet_RCU_signal
357 #endif
358
359 #define CDSUNIT_DECLARE_SkipListSet \
360     TEST_CASE(tag_SkipListSet, SkipListSet_hp_less_pascal)\
361     TEST_CASE(tag_SkipListSet, SkipListSet_hp_cmp_pascal_stat)\
362     TEST_CASE(tag_SkipListSet, SkipListSet_hp_less_xorshift)\
363     TEST_CASE(tag_SkipListSet, SkipListSet_hp_cmp_xorshift_stat)\
364     TEST_CASE(tag_SkipListSet, SkipListSet_dhp_less_pascal)\
365     TEST_CASE(tag_SkipListSet, SkipListSet_dhp_cmp_pascal_stat)\
366     TEST_CASE(tag_SkipListSet, SkipListSet_dhp_less_xorshift)\
367     TEST_CASE(tag_SkipListSet, SkipListSet_dhp_cmp_xorshift_stat)\
368     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpi_less_pascal)\
369     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpi_cmp_pascal_stat)\
370     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpi_less_xorshift)\
371     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpi_cmp_xorshift_stat)\
372     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpb_less_pascal)\
373     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpb_cmp_pascal_stat)\
374     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpb_less_xorshift)\
375     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpb_cmp_xorshift_stat)\
376     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpt_less_pascal)\
377     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpt_cmp_pascal_stat)\
378     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpt_less_xorshift)\
379     TEST_CASE(tag_SkipListSet, SkipListSet_rcu_gpt_cmp_xorshift_stat)\
380     CDSUNIT_DECLARE_SkipListSet_RCU_signal
381
382 #define CDSUNIT_TEST_SkipListSet \
383     CPPUNIT_TEST(SkipListSet_hp_less_pascal)\
384     CPPUNIT_TEST(SkipListSet_hp_cmp_pascal_stat)\
385     CPPUNIT_TEST(SkipListSet_hp_less_xorshift)\
386     CPPUNIT_TEST(SkipListSet_hp_cmp_xorshift_stat)\
387     CPPUNIT_TEST(SkipListSet_dhp_less_pascal)\
388     CPPUNIT_TEST(SkipListSet_dhp_cmp_pascal_stat)\
389     CPPUNIT_TEST(SkipListSet_dhp_less_xorshift)\
390     CPPUNIT_TEST(SkipListSet_dhp_cmp_xorshift_stat)\
391     CPPUNIT_TEST(SkipListSet_rcu_gpi_less_pascal)\
392     CPPUNIT_TEST(SkipListSet_rcu_gpi_cmp_pascal_stat)\
393     CPPUNIT_TEST(SkipListSet_rcu_gpi_less_xorshift)\
394     CPPUNIT_TEST(SkipListSet_rcu_gpi_cmp_xorshift_stat)\
395     CPPUNIT_TEST(SkipListSet_rcu_gpb_less_pascal)\
396     CPPUNIT_TEST(SkipListSet_rcu_gpb_cmp_pascal_stat)\
397     CPPUNIT_TEST(SkipListSet_rcu_gpb_less_xorshift)\
398     CPPUNIT_TEST(SkipListSet_rcu_gpb_cmp_xorshift_stat)\
399     CPPUNIT_TEST(SkipListSet_rcu_gpt_less_pascal)\
400     CPPUNIT_TEST(SkipListSet_rcu_gpt_cmp_pascal_stat)\
401     CPPUNIT_TEST(SkipListSet_rcu_gpt_less_xorshift)\
402     CPPUNIT_TEST(SkipListSet_rcu_gpt_cmp_xorshift_stat)\
403     CDSUNIT_TEST_SkipListSet_RCU_signal
404
405 //********************************************************************
406 // EllenBinTreeSet
407
408 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
409 #   define CDSUNIT_DECLARE_EllenBinTreeSet_RCU_signal \
410         TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_shb)\
411         TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_shb_stat)\
412         TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_sht)\
413         TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_sht_stat)
414
415 #   define CDSUNIT_TEST_EllenBinTreeSet_RCU_signal \
416         CPPUNIT_TEST(EllenBinTreeSet_rcu_shb)\
417         CPPUNIT_TEST(EllenBinTreeSet_rcu_shb_stat)\
418         CPPUNIT_TEST(EllenBinTreeSet_rcu_sht)\
419         CPPUNIT_TEST(EllenBinTreeSet_rcu_sht_stat)
420 #else
421 #   define CDSUNIT_DECLARE_EllenBinTreeSet_RCU_signal
422 #   define CDSUNIT_TEST_EllenBinTreeSet_RCU_signal
423 #endif
424
425 #define CDSUNIT_DECLARE_EllenBinTreeSet \
426     TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_hp)\
427     TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_yield_hp)\
428     TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_hp_stat)\
429     TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_dhp)\
430     TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_yield_dhp)\
431     TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_dhp_stat)\
432     TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_gpi)\
433     TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_gpi_stat)\
434     TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_gpb)\
435     TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_yield_rcu_gpb)\
436     TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_gpb_stat)\
437     TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_gpt)\
438     TEST_CASE(tag_EllenBinTreeSet, EllenBinTreeSet_rcu_gpt_stat)\
439     CDSUNIT_DECLARE_EllenBinTreeSet_RCU_signal
440
441 #define CDSUNIT_TEST_EllenBinTreeSet \
442     CPPUNIT_TEST(EllenBinTreeSet_hp)\
443     CPPUNIT_TEST(EllenBinTreeSet_yield_hp)\
444     CPPUNIT_TEST(EllenBinTreeSet_hp_stat)\
445     CPPUNIT_TEST(EllenBinTreeSet_dhp)\
446     CPPUNIT_TEST(EllenBinTreeSet_yield_dhp)\
447     CPPUNIT_TEST(EllenBinTreeSet_dhp_stat)\
448     CPPUNIT_TEST(EllenBinTreeSet_rcu_gpi)\
449     /*CPPUNIT_TEST(EllenBinTreeSet_rcu_gpi_stat)*/\
450     CPPUNIT_TEST(EllenBinTreeSet_rcu_gpb)\
451     CPPUNIT_TEST(EllenBinTreeSet_yield_rcu_gpb)\
452     CPPUNIT_TEST(EllenBinTreeSet_rcu_gpb_stat)\
453     CPPUNIT_TEST(EllenBinTreeSet_rcu_gpt)\
454     CPPUNIT_TEST(EllenBinTreeSet_rcu_gpt_stat)\
455     CDSUNIT_TEST_EllenBinTreeSet_RCU_signal
456
457 //********************************************************************
458 // StripedSet
459
460 #define CDSUNIT_DECLARE_StripedSet_common \
461     TEST_CASE( tag_StripedSet, StripedSet_list) \
462     TEST_CASE( tag_StripedSet, StripedSet_vector) \
463     TEST_CASE( tag_StripedSet, StripedSet_set) \
464     TEST_CASE( tag_StripedSet, StripedSet_hashset) \
465     TEST_CASE( tag_StripedSet, StripedSet_boost_unordered_set) \
466     TEST_CASE( tag_StripedSet, StripedSet_rational_list) \
467     TEST_CASE( tag_StripedSet, StripedSet_rational_vector) \
468     TEST_CASE( tag_StripedSet, StripedSet_rational_set) \
469     TEST_CASE( tag_StripedSet, StripedSet_rational_hashset) \
470     TEST_CASE( tag_StripedSet, StripedSet_rational_boost_unordered_set)
471
472 #define CDSUNIT_TEST_StripedSet_common \
473     CPPUNIT_TEST(StripedSet_list) \
474     CPPUNIT_TEST(StripedSet_vector) \
475     CPPUNIT_TEST(StripedSet_set) \
476     CPPUNIT_TEST(StripedSet_hashset) \
477     CPPUNIT_TEST(StripedSet_boost_unordered_set) \
478     CPPUNIT_TEST(StripedSet_rational_list) \
479     CPPUNIT_TEST(StripedSet_rational_vector) \
480     CPPUNIT_TEST(StripedSet_rational_set) \
481     CPPUNIT_TEST(StripedSet_rational_hashset) \
482     CPPUNIT_TEST(StripedSet_rational_boost_unordered_set)
483
484 #if BOOST_VERSION >= 104800
485 #   define CDSUNIT_DECLARE_StripedSet_boost_container \
486     TEST_CASE( tag_StripedSet, StripedSet_boost_list) \
487     TEST_CASE( tag_StripedSet, StripedSet_boost_slist) \
488     TEST_CASE( tag_StripedSet, StripedSet_boost_vector) \
489     TEST_CASE( tag_StripedSet, StripedSet_boost_stable_vector) \
490     TEST_CASE( tag_StripedSet, StripedSet_boost_set) \
491     TEST_CASE( tag_StripedSet, StripedSet_rational_boost_list) \
492     TEST_CASE( tag_StripedSet, StripedSet_rational_boost_slist) \
493     TEST_CASE( tag_StripedSet, StripedSet_rational_boost_vector) \
494     TEST_CASE( tag_StripedSet, StripedSet_rational_boost_stable_vector) \
495     TEST_CASE( tag_StripedSet, StripedSet_rational_boost_set)
496
497 #   define CDSUNIT_TEST_StripedSet_boost_container \
498     CPPUNIT_TEST(StripedSet_boost_list) \
499     CPPUNIT_TEST(StripedSet_boost_slist) \
500     CPPUNIT_TEST(StripedSet_boost_vector) \
501     CPPUNIT_TEST(StripedSet_boost_stable_vector) \
502     CPPUNIT_TEST(StripedSet_boost_set) \
503     CPPUNIT_TEST(StripedSet_rational_boost_list) \
504     CPPUNIT_TEST(StripedSet_rational_boost_slist) \
505     CPPUNIT_TEST(StripedSet_rational_boost_vector) \
506     CPPUNIT_TEST(StripedSet_rational_boost_stable_vector) \
507     CPPUNIT_TEST(StripedSet_rational_boost_set)
508 #else
509 #   define CDSUNIT_DECLARE_StripedSet_boost_container
510 #   define CDSUNIT_TEST_StripedSet_boost_container
511 #endif
512
513 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_SET_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
514 #   define CDSUNIT_DECLARE_StripedSet_boost_flat_container \
515     TEST_CASE( tag_StripedSet, StripedSet_boost_flat_set) \
516     TEST_CASE( tag_StripedSet, StripedSet_rational_boost_flat_set)
517
518 #   define CDSUNIT_TEST_StripedSet_boost_flat_container \
519     CPPUNIT_TEST(StripedSet_boost_flat_set) \
520     CPPUNIT_TEST(StripedSet_rational_boost_flat_set)
521 #else
522 #   define CDSUNIT_DECLARE_StripedSet_boost_flat_container
523 #   define CDSUNIT_TEST_StripedSet_boost_flat_container
524 #endif
525
526 #define CDSUNIT_DECLARE_StripedSet \
527     CDSUNIT_DECLARE_StripedSet_common \
528     CDSUNIT_DECLARE_StripedSet_boost_container \
529     CDSUNIT_DECLARE_StripedSet_boost_flat_container
530
531 #define CDSUNIT_TEST_StripedSet \
532     CDSUNIT_TEST_StripedSet_common \
533     CDSUNIT_TEST_StripedSet_boost_container \
534     CDSUNIT_TEST_StripedSet_boost_flat_container
535
536
537 #define CDSUNIT_DECLARE_RefinableSet_common \
538     TEST_CASE( tag_StripedSet, RefinableSet_list) \
539     TEST_CASE( tag_StripedSet, RefinableSet_vector) \
540     TEST_CASE( tag_StripedSet, RefinableSet_set) \
541     TEST_CASE( tag_StripedSet, RefinableSet_hashset) \
542     TEST_CASE( tag_StripedSet, RefinableSet_boost_unordered_set) \
543     TEST_CASE( tag_StripedSet, RefinableSet_rational_list) \
544     TEST_CASE( tag_StripedSet, RefinableSet_rational_vector) \
545     TEST_CASE( tag_StripedSet, RefinableSet_rational_set) \
546     TEST_CASE( tag_StripedSet, RefinableSet_rational_hashset) \
547     TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_unordered_set)
548
549
550 //********************************************************************
551 // RefinableSet
552
553 #define CDSUNIT_TEST_RefinableSet_common \
554     CPPUNIT_TEST(RefinableSet_list) \
555     CPPUNIT_TEST(RefinableSet_vector) \
556     CPPUNIT_TEST(RefinableSet_set) \
557     CPPUNIT_TEST(RefinableSet_hashset) \
558     CPPUNIT_TEST(RefinableSet_boost_unordered_set) \
559     CPPUNIT_TEST(RefinableSet_rational_list) \
560     CPPUNIT_TEST(RefinableSet_rational_vector) \
561     CPPUNIT_TEST(RefinableSet_rational_set) \
562     CPPUNIT_TEST(RefinableSet_rational_hashset) \
563     CPPUNIT_TEST(RefinableSet_rational_boost_unordered_set)
564
565 #if BOOST_VERSION >= 104800
566 #   define CDSUNIT_DECLARE_RefinableSet_boost_container \
567     TEST_CASE( tag_StripedSet, RefinableSet_boost_list) \
568     TEST_CASE( tag_StripedSet, RefinableSet_boost_slist) \
569     TEST_CASE( tag_StripedSet, RefinableSet_boost_vector) \
570     TEST_CASE( tag_StripedSet, RefinableSet_boost_stable_vector) \
571     TEST_CASE( tag_StripedSet, RefinableSet_boost_set) \
572     TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_list) \
573     TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_slist) \
574     TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_vector) \
575     TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_stable_vector) \
576     TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_set)
577
578 #   define CDSUNIT_TEST_RefinableSet_boost_container \
579     CPPUNIT_TEST(RefinableSet_boost_list) \
580     CPPUNIT_TEST(RefinableSet_boost_slist) \
581     CPPUNIT_TEST(RefinableSet_boost_vector) \
582     CPPUNIT_TEST(RefinableSet_boost_stable_vector) \
583     CPPUNIT_TEST(RefinableSet_boost_set) \
584     CPPUNIT_TEST(RefinableSet_rational_boost_list) \
585     CPPUNIT_TEST(RefinableSet_rational_boost_slist) \
586     CPPUNIT_TEST(RefinableSet_rational_boost_vector) \
587     CPPUNIT_TEST(RefinableSet_rational_boost_stable_vector) \
588     CPPUNIT_TEST(RefinableSet_rational_boost_set)
589 #else
590 #   define CDSUNIT_DECLARE_RefinableSet_boost_container
591 #   define CDSUNIT_TEST_RefinableSet_boost_container
592 #endif
593
594 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_SET_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
595 #   define CDSUNIT_DECLARE_RefinableSet_boost_flat_container \
596     TEST_CASE( tag_StripedSet, RefinableSet_boost_flat_set) \
597     TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_flat_set)
598
599 #   define CDSUNIT_TEST_RefinableSet_boost_flat_container \
600     CPPUNIT_TEST(RefinableSet_boost_flat_set) \
601     CPPUNIT_TEST(RefinableSet_rational_boost_flat_set)
602 #else
603 #   define CDSUNIT_DECLARE_RefinableSet_boost_flat_container
604 #   define CDSUNIT_TEST_RefinableSet_boost_flat_container
605 #endif
606
607 #define CDSUNIT_DECLARE_RefinableSet \
608     CDSUNIT_DECLARE_RefinableSet_common \
609     CDSUNIT_DECLARE_RefinableSet_boost_container \
610     CDSUNIT_DECLARE_RefinableSet_boost_flat_container
611
612 #define CDSUNIT_TEST_RefinableSet \
613     CDSUNIT_TEST_RefinableSet_common \
614     CDSUNIT_TEST_RefinableSet_boost_container \
615     CDSUNIT_TEST_RefinableSet_boost_flat_container
616
617
618 //***********************************************
619 // FeldmanHashSet
620
621 // For fixed-sized key - no hash function is needed
622
623 #undef CDSUNIT_DECLARE_FeldmanHashSet_fixed
624 #undef CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal
625 #undef CDSUNIT_TEST_FeldmanHashSet_fixed
626 #undef CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal
627
628 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
629 #   define CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal  \
630         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed) \
631         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed_stat) \
632         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed) \
633         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed_stat) \
634
635 #   define CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal \
636         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed) \
637         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed_stat) \
638         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed) \
639         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed_stat) \
640
641 #else
642 #   define CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal
643 #   define CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal
644 #endif
645
646 #define CDSUNIT_DECLARE_FeldmanHashSet_fixed  \
647     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_fixed) \
648     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_fixed_stat) \
649     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_fixed) \
650     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_fixed_stat) \
651     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_fixed) \
652     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_fixed_stat) \
653     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_fixed) \
654     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_fixed_stat) \
655     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_fixed) \
656     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_fixed_stat) \
657     CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal
658
659 #define CDSUNIT_TEST_FeldmanHashSet_fixed  \
660     CPPUNIT_TEST(FeldmanHashSet_hp_fixed) \
661     CPPUNIT_TEST(FeldmanHashSet_hp_fixed_stat) \
662     CPPUNIT_TEST(FeldmanHashSet_dhp_fixed) \
663     CPPUNIT_TEST(FeldmanHashSet_dhp_fixed_stat) \
664     CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_fixed) \
665     CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_fixed_stat) \
666     CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_fixed) \
667     CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_fixed_stat) \
668     CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_fixed) \
669     CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_fixed_stat) \
670     CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal
671
672 // std::hash
673 #undef CDSUNIT_DECLARE_FeldmanHashSet_stdhash
674 #undef CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal
675 #undef CDSUNIT_TEST_FeldmanHashSet_stdhash
676 #undef CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal
677
678 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
679 #   define CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal  \
680         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash) \
681         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash_stat) \
682         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash) \
683         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash_stat) \
684
685 #   define CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal \
686         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash) \
687         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash_stat) \
688         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash) \
689         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash_stat) \
690
691 #else
692 #   define CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal
693 #   define CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal
694 #endif
695
696 #define CDSUNIT_DECLARE_FeldmanHashSet_stdhash  \
697     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_stdhash) \
698     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_stdhash_stat) \
699     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_stdhash) \
700     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_stdhash_stat) \
701     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_stdhash) \
702     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_stdhash_stat) \
703     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_stdhash) \
704     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_stdhash_stat) \
705     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_stdhash) \
706     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_stdhash_stat) \
707     CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal
708
709 #define CDSUNIT_TEST_FeldmanHashSet_stdhash  \
710     CPPUNIT_TEST(FeldmanHashSet_hp_stdhash) \
711     CPPUNIT_TEST(FeldmanHashSet_hp_stdhash_stat) \
712     CPPUNIT_TEST(FeldmanHashSet_dhp_stdhash) \
713     CPPUNIT_TEST(FeldmanHashSet_dhp_stdhash_stat) \
714     CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_stdhash) \
715     CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_stdhash_stat) \
716     CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_stdhash) \
717     CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_stdhash_stat) \
718     CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_stdhash) \
719     CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_stdhash_stat) \
720     CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal
721
722
723 // MD5
724 #undef CDSUNIT_DECLARE_FeldmanHashSet_md5
725 #undef CDSUNIT_DECLARE_FeldmanHashSet_md5_RCU_signal
726 #undef CDSUNIT_TEST_FeldmanHashSet_md5
727 #undef CDSUNIT_TEST_FeldmanHashSet_md5_RCU_signal
728
729 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
730 #   define CDSUNIT_DECLARE_FeldmanHashSet_md5_RCU_signal  \
731         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_md5) \
732         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_md5_stat) \
733         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_md5) \
734         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_md5_stat) \
735
736 #   define CDSUNIT_TEST_FeldmanHashSet_md5_RCU_signal \
737         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_md5) \
738         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_md5_stat) \
739         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_md5) \
740         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_md5_stat) \
741
742 #else
743 #   define CDSUNIT_DECLARE_FeldmanHashSet_md5_RCU_signal
744 #   define CDSUNIT_TEST_FeldmanHashSet_md5_RCU_signal
745 #endif
746
747 #define CDSUNIT_DECLARE_FeldmanHashSet_md5  \
748     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_md5) \
749     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_md5_stat) \
750     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_md5) \
751     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_md5_stat) \
752     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_md5) \
753     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_md5_stat) \
754     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_md5) \
755     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_md5_stat) \
756     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_md5) \
757     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_md5_stat) \
758     CDSUNIT_DECLARE_FeldmanHashSet_md5_RCU_signal
759
760 #define CDSUNIT_TEST_FeldmanHashSet_md5  \
761     CPPUNIT_TEST(FeldmanHashSet_hp_md5) \
762     CPPUNIT_TEST(FeldmanHashSet_hp_md5_stat) \
763     CPPUNIT_TEST(FeldmanHashSet_dhp_md5) \
764     CPPUNIT_TEST(FeldmanHashSet_dhp_md5_stat) \
765     CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_md5) \
766     CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_md5_stat) \
767     CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_md5) \
768     CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_md5_stat) \
769     CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_md5) \
770     CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_md5_stat) \
771     CDSUNIT_TEST_FeldmanHashSet_md5_RCU_signal
772
773
774 // SHA256
775 #undef CDSUNIT_DECLARE_FeldmanHashSet_sha256
776 #undef CDSUNIT_DECLARE_FeldmanHashSet_sha256_RCU_signal
777 #undef CDSUNIT_TEST_FeldmanHashSet_sha256
778 #undef CDSUNIT_TEST_FeldmanHashSet_sha256_RCU_signal
779
780 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
781 #   define CDSUNIT_DECLARE_FeldmanHashSet_sha256_RCU_signal  \
782         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_sha256) \
783         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_sha256_stat) \
784         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_sha256) \
785         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_sha256_stat) \
786
787 #   define CDSUNIT_TEST_FeldmanHashSet_sha256_RCU_signal \
788         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_sha256) \
789         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_sha256_stat) \
790         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_sha256) \
791         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_sha256_stat) \
792
793 #else
794 #   define CDSUNIT_DECLARE_FeldmanHashSet_sha256_RCU_signal
795 #   define CDSUNIT_TEST_FeldmanHashSet_sha256_RCU_signal
796 #endif
797
798 #define CDSUNIT_DECLARE_FeldmanHashSet_sha256  \
799     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_sha256) \
800     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_sha256_stat) \
801     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_sha256) \
802     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_sha256_stat) \
803     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_sha256) \
804     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_sha256_stat) \
805     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_sha256) \
806     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_sha256_stat) \
807     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_sha256) \
808     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_sha256_stat) \
809     CDSUNIT_DECLARE_FeldmanHashSet_sha256_RCU_signal
810
811 #define CDSUNIT_TEST_FeldmanHashSet_sha256  \
812     CPPUNIT_TEST(FeldmanHashSet_hp_sha256) \
813     CPPUNIT_TEST(FeldmanHashSet_hp_sha256_stat) \
814     CPPUNIT_TEST(FeldmanHashSet_dhp_sha256) \
815     CPPUNIT_TEST(FeldmanHashSet_dhp_sha256_stat) \
816     CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_sha256) \
817     CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_sha256_stat) \
818     CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_sha256) \
819     CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_sha256_stat) \
820     CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_sha256) \
821     CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_sha256_stat) \
822     CDSUNIT_TEST_FeldmanHashSet_sha256_RCU_signal
823
824
825 // CityHash -only for 64bit 
826 #undef CDSUNIT_DECLARE_FeldmanHashSet_city
827 #undef CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
828 #undef CDSUNIT_TEST_FeldmanHashSet_city
829 #undef CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
830
831 #if CDS_BUILD_BITS == 64
832
833 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
834 #   define CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal  \
835         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64) \
836         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64_stat) \
837         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64) \
838         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64_stat) \
839         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128) \
840         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128_stat) \
841         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128) \
842         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128_stat) \
843
844 #   define CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal \
845         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64) \
846         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64_stat) \
847         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64) \
848         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64_stat) \
849         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128) \
850         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128_stat) \
851         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128) \
852         TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128_stat) \
853
854 #else
855 #   define CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
856 #   define CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
857 #endif
858
859 #define CDSUNIT_DECLARE_FeldmanHashSet_city  \
860     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city64) \
861     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city64_stat) \
862     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city64) \
863     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city64_stat) \
864     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city64) \
865     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city64_stat) \
866     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city64) \
867     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city64_stat) \
868     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city64) \
869     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city64_stat) \
870     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city128) \
871     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city128_stat) \
872     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city128) \
873     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city128_stat) \
874     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city128) \
875     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city128_stat) \
876     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city128) \
877     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city128_stat) \
878     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city128) \
879     TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city128_stat) \
880     CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
881
882 #define CDSUNIT_TEST_FeldmanHashSet_city  \
883     CPPUNIT_TEST(FeldmanHashSet_hp_city64) \
884     CPPUNIT_TEST(FeldmanHashSet_hp_city64_stat) \
885     CPPUNIT_TEST(FeldmanHashSet_dhp_city64) \
886     CPPUNIT_TEST(FeldmanHashSet_dhp_city64_stat) \
887     CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city64) \
888     CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city64_stat) \
889     CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city64) \
890     CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city64_stat) \
891     CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city64) \
892     CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city64_stat) \
893     CPPUNIT_TEST(FeldmanHashSet_hp_city128) \
894     CPPUNIT_TEST(FeldmanHashSet_hp_city128_stat) \
895     CPPUNIT_TEST(FeldmanHashSet_dhp_city128) \
896     CPPUNIT_TEST(FeldmanHashSet_dhp_city128_stat) \
897     CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city128) \
898     CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city128_stat) \
899     CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city128) \
900     CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city128_stat) \
901     CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city128) \
902     CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city128_stat) \
903     CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
904
905 #else
906 #   define CDSUNIT_DECLARE_FeldmanHashSet_city
907 #   define CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
908 #   define CDSUNIT_TEST_FeldmanHashSet_city
909 #   define CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
910 #endif // CDS_BUILD_BITS == 64
911
912
913 // All 
914 #define CDSUNIT_DECLARE_FeldmanHashSet \
915     CDSUNIT_DECLARE_FeldmanHashSet_fixed \
916     CDSUNIT_DECLARE_FeldmanHashSet_stdhash \
917     CDSUNIT_DECLARE_FeldmanHashSet_md5 \
918     CDSUNIT_DECLARE_FeldmanHashSet_sha256 \
919     CDSUNIT_DECLARE_FeldmanHashSet_city
920
921 #define CDSUNIT_TEST_FeldmanHashSet \
922     CDSUNIT_TEST_FeldmanHashSet_fixed \
923     CDSUNIT_TEST_FeldmanHashSet_stdhash \
924     CDSUNIT_TEST_FeldmanHashSet_md5 \
925     CDSUNIT_TEST_FeldmanHashSet_sha256 \
926     CDSUNIT_TEST_FeldmanHashSet_city