changed BronsonAVLTreeMap test sequence
[libcds.git] / tests / unit / map2 / map_defs.h
1 //$$CDS-header$$
2
3 #ifndef CDSUNIT_MAP_DEFS_H
4 #define CDSUNIT_MAP_DEFS_H
5
6 #define CDSUNIT_DECLARE_StdMap \
7     TEST_MAP(StdMap_Spin) \
8     TEST_MAP(StdHashMap_Spin)
9 #define CDSUNIT_TEST_StdMap \
10     CPPUNIT_TEST(StdMap_Spin) \
11     CPPUNIT_TEST(StdHashMap_Spin) \
12
13 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
14 #   define CDSUNIT_DECLARE_MichaelMap_RCU_signal \
15     TEST_MAP_EXTRACT(MichaelMap_RCU_SHB_cmp_stdAlloc) \
16     TEST_MAP_EXTRACT(MichaelMap_RCU_SHB_less_michaelAlloc) \
17     TEST_MAP_EXTRACT(MichaelMap_RCU_SHT_cmp_stdAlloc) \
18     TEST_MAP_EXTRACT(MichaelMap_RCU_SHT_less_michaelAlloc) \
19     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_SHB_cmp_stdAlloc) \
20     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_SHB_less_michaelAlloc) \
21     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_SHT_cmp_stdAlloc) \
22     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_SHT_less_michaelAlloc)
23
24 #   define CDSUNIT_TEST_MichaelMap_RCU_signal \
25     CPPUNIT_TEST(MichaelMap_RCU_SHB_cmp_stdAlloc) \
26     CPPUNIT_TEST(MichaelMap_RCU_SHB_less_michaelAlloc) \
27     CPPUNIT_TEST(MichaelMap_RCU_SHT_cmp_stdAlloc) \
28     CPPUNIT_TEST(MichaelMap_RCU_SHT_less_michaelAlloc) \
29     CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHB_cmp_stdAlloc) \
30     CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHB_less_michaelAlloc) \
31     CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHT_cmp_stdAlloc) \
32     CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHT_less_michaelAlloc)
33
34 #else
35 #   define CDSUNIT_DECLARE_MichaelMap_RCU_signal
36 #   define CDSUNIT_TEST_MichaelMap_RCU_signal
37 #endif
38
39
40 #define CDSUNIT_DECLARE_MichaelMap  \
41     TEST_MAP_EXTRACT(MichaelMap_HP_cmp_stdAlloc) \
42     TEST_MAP_EXTRACT(MichaelMap_HP_less_michaelAlloc) \
43     TEST_MAP_EXTRACT(MichaelMap_DHP_cmp_stdAlloc) \
44     TEST_MAP_EXTRACT(MichaelMap_DHP_less_michaelAlloc) \
45     TEST_MAP_EXTRACT(MichaelMap_RCU_GPI_cmp_stdAlloc) \
46     TEST_MAP_EXTRACT(MichaelMap_RCU_GPI_less_michaelAlloc) \
47     TEST_MAP_EXTRACT(MichaelMap_RCU_GPB_cmp_stdAlloc) \
48     TEST_MAP_EXTRACT(MichaelMap_RCU_GPB_less_michaelAlloc) \
49     TEST_MAP_EXTRACT(MichaelMap_RCU_GPT_cmp_stdAlloc) \
50     TEST_MAP_EXTRACT(MichaelMap_RCU_GPT_less_michaelAlloc) \
51     TEST_MAP_EXTRACT(MichaelMap_Lazy_HP_cmp_stdAlloc) \
52     TEST_MAP_EXTRACT(MichaelMap_Lazy_HP_less_michaelAlloc) \
53     TEST_MAP_EXTRACT(MichaelMap_Lazy_DHP_cmp_stdAlloc) \
54     TEST_MAP_EXTRACT(MichaelMap_Lazy_DHP_less_michaelAlloc) \
55     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPI_cmp_stdAlloc) \
56     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPI_less_michaelAlloc) \
57     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPB_cmp_stdAlloc) \
58     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPB_less_michaelAlloc) \
59     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPT_cmp_stdAlloc) \
60     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPT_less_michaelAlloc)\
61     CDSUNIT_DECLARE_MichaelMap_RCU_signal
62
63 #define CDSUNIT_TEST_MichaelMap  \
64     CPPUNIT_TEST(MichaelMap_HP_cmp_stdAlloc) \
65     CPPUNIT_TEST(MichaelMap_HP_less_michaelAlloc) \
66     CPPUNIT_TEST(MichaelMap_DHP_cmp_stdAlloc) \
67     CPPUNIT_TEST(MichaelMap_DHP_less_michaelAlloc) \
68     CPPUNIT_TEST(MichaelMap_RCU_GPI_cmp_stdAlloc) \
69     CPPUNIT_TEST(MichaelMap_RCU_GPI_less_michaelAlloc) \
70     CPPUNIT_TEST(MichaelMap_RCU_GPB_cmp_stdAlloc) \
71     CPPUNIT_TEST(MichaelMap_RCU_GPB_less_michaelAlloc) \
72     CPPUNIT_TEST(MichaelMap_RCU_GPT_cmp_stdAlloc) \
73     CPPUNIT_TEST(MichaelMap_RCU_GPT_less_michaelAlloc) \
74     CPPUNIT_TEST(MichaelMap_Lazy_HP_cmp_stdAlloc) \
75     CPPUNIT_TEST(MichaelMap_Lazy_HP_less_michaelAlloc) \
76     CPPUNIT_TEST(MichaelMap_Lazy_DHP_cmp_stdAlloc) \
77     CPPUNIT_TEST(MichaelMap_Lazy_DHP_less_michaelAlloc) \
78     CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPI_cmp_stdAlloc) \
79     CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPI_less_michaelAlloc) \
80     CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPB_cmp_stdAlloc) \
81     CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPB_less_michaelAlloc) \
82     CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPT_cmp_stdAlloc) \
83     CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPT_less_michaelAlloc)\
84     CDSUNIT_TEST_MichaelMap_RCU_signal
85
86 #define CDSUNIT_DECLARE_MichaelMap_nogc  \
87     TEST_MAP(MichaelMap_NOGC_cmp_stdAlloc) \
88     TEST_MAP(MichaelMap_NOGC_less_michaelAlloc) \
89     TEST_MAP(MichaelMap_Lazy_NOGC_cmp_stdAlloc) \
90     TEST_MAP(MichaelMap_Lazy_NOGC_less_michaelAlloc)
91
92 #define CDSUNIT_TEST_MichaelMap_nogc  \
93     CPPUNIT_TEST(MichaelMap_NOGC_cmp_stdAlloc) \
94     CPPUNIT_TEST(MichaelMap_NOGC_less_michaelAlloc) \
95     CPPUNIT_TEST(MichaelMap_Lazy_NOGC_cmp_stdAlloc) \
96     CPPUNIT_TEST(MichaelMap_Lazy_NOGC_less_michaelAlloc) \
97
98 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
99 #   define CDSUNIT_DECLARE_SplitList_RCU_signal  \
100     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_dyn_cmp)\
101     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_dyn_cmp_stat)\
102     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_st_cmp)\
103     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_dyn_less)\
104     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_st_less)\
105     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_st_less_stat)\
106     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_dyn_cmp)\
107     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_dyn_cmp_stat)\
108     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_st_cmp)\
109     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_dyn_less)\
110     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_st_less)\
111     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_st_less_stat)\
112     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_dyn_cmp)\
113     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\
114     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_st_cmp)\
115     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_dyn_less)\
116     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_st_less)\
117     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_st_less_stat)\
118     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_dyn_cmp)\
119     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\
120     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_cmp)\
121     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_dyn_less)\
122     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less)\
123 TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat)
124
125 #   define CDSUNIT_TEST_SplitList_RCU_signal \
126     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp)\
127     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp_stat)\
128     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_cmp)\
129     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_less)\
130     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_less)\
131     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_less_stat)\
132     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_cmp)\
133     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_cmp_stat)\
134     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_cmp)\
135     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_less)\
136     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_less)\
137     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_less_stat)\
138     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp)\
139     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\
140     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_cmp)\
141     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_less)\
142     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_less)\
143     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_less_stat)\
144     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp)\
145     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\
146     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_cmp)\
147     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_less)\
148     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_less)\
149     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_less_stat)
150
151 #else
152 #   define CDSUNIT_DECLARE_SplitList_RCU_signal
153 #   define CDSUNIT_TEST_SplitList_RCU_signal
154 #endif
155
156 #define CDSUNIT_DECLARE_SplitList  \
157     TEST_MAP_EXTRACT(SplitList_Michael_HP_dyn_cmp)\
158     TEST_MAP_EXTRACT(SplitList_Michael_HP_dyn_cmp_stat)\
159     TEST_MAP_EXTRACT(SplitList_Michael_HP_st_cmp)\
160     TEST_MAP_EXTRACT(SplitList_Michael_HP_dyn_less)\
161     TEST_MAP_EXTRACT(SplitList_Michael_HP_st_less)\
162     TEST_MAP_EXTRACT(SplitList_Michael_HP_st_less_stat)\
163     TEST_MAP_EXTRACT(SplitList_Michael_DHP_dyn_cmp)\
164     TEST_MAP_EXTRACT(SplitList_Michael_DHP_dyn_cmp_stat)\
165     TEST_MAP_EXTRACT(SplitList_Michael_DHP_st_cmp)\
166     TEST_MAP_EXTRACT(SplitList_Michael_DHP_dyn_less)\
167     TEST_MAP_EXTRACT(SplitList_Michael_DHP_st_less)\
168     TEST_MAP_EXTRACT(SplitList_Michael_DHP_st_less_stat)\
169     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_dyn_cmp)\
170     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
171     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_st_cmp)\
172     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_dyn_less)\
173     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_st_less)\
174     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_st_less_stat)\
175     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_dyn_cmp)\
176     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
177     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_st_cmp)\
178     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_dyn_less)\
179     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_st_less)\
180     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_st_less_stat)\
181     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_dyn_cmp)\
182     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
183     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_st_cmp)\
184     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_dyn_less)\
185     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_st_less)\
186     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_st_less_stat)\
187     TEST_MAP_EXTRACT(SplitList_Lazy_HP_dyn_cmp)\
188     TEST_MAP_EXTRACT(SplitList_Lazy_HP_dyn_cmp_stat)\
189     TEST_MAP_EXTRACT(SplitList_Lazy_HP_st_cmp)\
190     TEST_MAP_EXTRACT(SplitList_Lazy_HP_dyn_less)\
191     TEST_MAP_EXTRACT(SplitList_Lazy_HP_st_less)\
192     TEST_MAP_EXTRACT(SplitList_Lazy_HP_st_less_stat)\
193     TEST_MAP_EXTRACT(SplitList_Lazy_DHP_dyn_cmp)\
194     TEST_MAP_EXTRACT(SplitList_Lazy_DHP_dyn_cmp_stat)\
195     TEST_MAP_EXTRACT(SplitList_Lazy_DHP_st_cmp)\
196     TEST_MAP_EXTRACT(SplitList_Lazy_DHP_dyn_less)\
197     TEST_MAP_EXTRACT(SplitList_Lazy_DHP_st_less)\
198     TEST_MAP_EXTRACT(SplitList_Lazy_DHP_st_less_stat)\
199     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_dyn_cmp)\
200     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
201     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_st_cmp)\
202     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_dyn_less)\
203     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_st_less)\
204     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_st_less_stat)\
205     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_dyn_cmp)\
206     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
207     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_st_cmp)\
208     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_dyn_less)\
209     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_st_less)\
210     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_st_less_stat)\
211     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_dyn_cmp)\
212     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
213     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_st_cmp)\
214     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_dyn_less)\
215     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_st_less)\
216     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_st_less_stat)\
217     CDSUNIT_DECLARE_SplitList_RCU_signal
218
219 #define CDSUNIT_TEST_SplitList  \
220     CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp)\
221     CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp_stat)\
222     CPPUNIT_TEST(SplitList_Michael_HP_st_cmp)\
223     CPPUNIT_TEST(SplitList_Michael_HP_dyn_less)\
224     CPPUNIT_TEST(SplitList_Michael_HP_st_less)\
225     CPPUNIT_TEST(SplitList_Michael_HP_st_less_stat)\
226     CPPUNIT_TEST(SplitList_Michael_DHP_dyn_cmp)\
227     CPPUNIT_TEST(SplitList_Michael_DHP_dyn_cmp_stat)\
228     CPPUNIT_TEST(SplitList_Michael_DHP_st_cmp)\
229     CPPUNIT_TEST(SplitList_Michael_DHP_dyn_less)\
230     CPPUNIT_TEST(SplitList_Michael_DHP_st_less)\
231     CPPUNIT_TEST(SplitList_Michael_DHP_st_less_stat)\
232     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp)\
233     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
234     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_cmp)\
235     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_less)\
236     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less)\
237     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less_stat)\
238     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp)\
239     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
240     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_cmp)\
241     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_less)\
242     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less)\
243     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less_stat)\
244     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp)\
245     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
246     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_cmp)\
247     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_less)\
248     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less)\
249     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less_stat)\
250     CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp)\
251     CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp_stat)\
252     CPPUNIT_TEST(SplitList_Lazy_HP_st_cmp)\
253     CPPUNIT_TEST(SplitList_Lazy_HP_dyn_less)\
254     CPPUNIT_TEST(SplitList_Lazy_HP_st_less)\
255     CPPUNIT_TEST(SplitList_Lazy_HP_st_less_stat)\
256     CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_cmp)\
257     CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_cmp_stat)\
258     CPPUNIT_TEST(SplitList_Lazy_DHP_st_cmp)\
259     CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_less)\
260     CPPUNIT_TEST(SplitList_Lazy_DHP_st_less)\
261     CPPUNIT_TEST(SplitList_Lazy_DHP_st_less_stat)\
262     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp)\
263     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
264     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_cmp)\
265     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_less)\
266     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less)\
267     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less_stat)\
268     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp)\
269     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
270     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_cmp)\
271     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_less)\
272     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less)\
273     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less_stat)\
274     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp)\
275     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
276     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_cmp)\
277     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_less)\
278     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less)\
279     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less_stat)\
280     CDSUNIT_TEST_SplitList_RCU_signal
281
282 #define CDSUNIT_DECLARE_SplitList_nogc  \
283     TEST_MAP(SplitList_Michael_NOGC_dyn_cmp)\
284     TEST_MAP(SplitList_Michael_NOGC_st_cmp)\
285     TEST_MAP(SplitList_Michael_NOGC_dyn_less)\
286     TEST_MAP(SplitList_Michael_NOGC_st_less)\
287     TEST_MAP(SplitList_Lazy_NOGC_dyn_cmp)\
288     TEST_MAP(SplitList_Lazy_NOGC_st_cmp)\
289     TEST_MAP(SplitList_Lazy_NOGC_dyn_less)\
290     TEST_MAP(SplitList_Lazy_NOGC_st_less)
291
292 #define CDSUNIT_TEST_SplitList_nogc  \
293     CPPUNIT_TEST(SplitList_Michael_NOGC_dyn_cmp)\
294     CPPUNIT_TEST(SplitList_Michael_NOGC_st_cmp)\
295     CPPUNIT_TEST(SplitList_Michael_NOGC_dyn_less)\
296     CPPUNIT_TEST(SplitList_Michael_NOGC_st_less)\
297     CPPUNIT_TEST(SplitList_Lazy_NOGC_dyn_cmp)\
298     CPPUNIT_TEST(SplitList_Lazy_NOGC_st_cmp)\
299     CPPUNIT_TEST(SplitList_Lazy_NOGC_dyn_less)\
300     CPPUNIT_TEST(SplitList_Lazy_NOGC_st_less)
301
302 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
303 #   define CDSUNIT_DECLARE_SkipListMap_RCU_signal \
304     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_less_pascal)\
305     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_cmp_pascal_stat)\
306     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_less_xorshift)\
307     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_cmp_xorshift_stat)\
308     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_less_pascal)\
309     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_cmp_pascal_stat)\
310     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_less_xorshift)\
311     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_cmp_xorshift_stat)
312
313 #   define CDSUNIT_TEST_SkipListMap_RCU_signal \
314     CPPUNIT_TEST(SkipListMap_rcu_shb_less_pascal)\
315     CPPUNIT_TEST(SkipListMap_rcu_shb_cmp_pascal_stat)\
316     CPPUNIT_TEST(SkipListMap_rcu_shb_less_xorshift)\
317     CPPUNIT_TEST(SkipListMap_rcu_shb_cmp_xorshift_stat)\
318     CPPUNIT_TEST(SkipListMap_rcu_sht_less_pascal)\
319     CPPUNIT_TEST(SkipListMap_rcu_sht_cmp_pascal_stat)\
320     CPPUNIT_TEST(SkipListMap_rcu_sht_less_xorshift)\
321     CPPUNIT_TEST(SkipListMap_rcu_sht_cmp_xorshift_stat)
322
323 #else
324 #   define CDSUNIT_DECLARE_SkipListMap_RCU_signal
325 #   define CDSUNIT_TEST_SkipListMap_RCU_signal
326 #endif
327
328 #define CDSUNIT_DECLARE_SkipListMap \
329     TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_less_pascal)\
330     TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_cmp_pascal_stat)\
331     TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_less_xorshift)\
332     TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_cmp_xorshift_stat)\
333     TEST_MAP_NOLF_EXTRACT(SkipListMap_dhp_less_pascal)\
334     TEST_MAP_NOLF_EXTRACT(SkipListMap_dhp_cmp_pascal_stat)\
335     TEST_MAP_NOLF_EXTRACT(SkipListMap_dhp_less_xorshift)\
336     TEST_MAP_NOLF_EXTRACT(SkipListMap_dhp_cmp_xorshift_stat)\
337     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_less_pascal)\
338     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_cmp_pascal_stat)\
339     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_less_xorshift)\
340     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_cmp_xorshift_stat)\
341     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_less_pascal)\
342     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_cmp_pascal_stat)\
343     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_less_xorshift)\
344     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_cmp_xorshift_stat)\
345     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_less_pascal)\
346     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_cmp_pascal_stat)\
347     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_less_xorshift)\
348     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_cmp_xorshift_stat)\
349     CDSUNIT_DECLARE_SkipListMap_RCU_signal
350
351
352 #define CDSUNIT_TEST_SkipListMap \
353     CPPUNIT_TEST(SkipListMap_hp_less_pascal)\
354     CPPUNIT_TEST(SkipListMap_hp_cmp_pascal_stat)\
355     CPPUNIT_TEST(SkipListMap_hp_less_xorshift)\
356     CPPUNIT_TEST(SkipListMap_hp_cmp_xorshift_stat)\
357     CPPUNIT_TEST(SkipListMap_dhp_less_pascal)\
358     CPPUNIT_TEST(SkipListMap_dhp_cmp_pascal_stat)\
359     CPPUNIT_TEST(SkipListMap_dhp_less_xorshift)\
360     CPPUNIT_TEST(SkipListMap_dhp_cmp_xorshift_stat)\
361     CPPUNIT_TEST(SkipListMap_rcu_gpi_less_pascal)\
362     CPPUNIT_TEST(SkipListMap_rcu_gpi_cmp_pascal_stat)\
363     CPPUNIT_TEST(SkipListMap_rcu_gpi_less_xorshift)\
364     CPPUNIT_TEST(SkipListMap_rcu_gpi_cmp_xorshift_stat)\
365     CPPUNIT_TEST(SkipListMap_rcu_gpb_less_pascal)\
366     CPPUNIT_TEST(SkipListMap_rcu_gpb_cmp_pascal_stat)\
367     CPPUNIT_TEST(SkipListMap_rcu_gpb_less_xorshift)\
368     CPPUNIT_TEST(SkipListMap_rcu_gpb_cmp_xorshift_stat)\
369     CPPUNIT_TEST(SkipListMap_rcu_gpt_less_pascal)\
370     CPPUNIT_TEST(SkipListMap_rcu_gpt_cmp_pascal_stat)\
371     CPPUNIT_TEST(SkipListMap_rcu_gpt_less_xorshift)\
372     CPPUNIT_TEST(SkipListMap_rcu_gpt_cmp_xorshift_stat)\
373     CDSUNIT_TEST_SkipListMap_RCU_signal
374
375 #define CDSUNIT_DECLARE_SkipListMap_nogc \
376     TEST_MAP_NOLF(SkipListMap_nogc_less_pascal)\
377     TEST_MAP_NOLF(SkipListMap_nogc_cmp_pascal_stat)\
378     TEST_MAP_NOLF(SkipListMap_nogc_less_xorshift)\
379     TEST_MAP_NOLF(SkipListMap_nogc_cmp_xorshift_stat)
380
381 #define CDSUNIT_TEST_SkipListMap_nogc \
382     CPPUNIT_TEST(SkipListMap_nogc_less_pascal)\
383     CPPUNIT_TEST(SkipListMap_nogc_cmp_pascal_stat)\
384     CPPUNIT_TEST(SkipListMap_nogc_less_xorshift)\
385     CPPUNIT_TEST(SkipListMap_nogc_cmp_xorshift_stat)
386
387 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
388 #   define CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal \
389     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_shb)\
390     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_shb_stat)\
391     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_sht)\
392     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_sht_stat)
393
394 #   define CDSUNIT_TEST_EllenBinTreeMap_RCU_signal \
395     CPPUNIT_TEST(EllenBinTreeMap_rcu_shb)\
396     CPPUNIT_TEST(EllenBinTreeMap_rcu_shb_stat)\
397     CPPUNIT_TEST(EllenBinTreeMap_rcu_sht)\
398     CPPUNIT_TEST(EllenBinTreeMap_rcu_sht_stat)
399 #else
400 #   define CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal
401 #   define CDSUNIT_TEST_EllenBinTreeMap_RCU_signal
402 #endif
403
404 #define CDSUNIT_DECLARE_EllenBinTreeMap \
405     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_hp)\
406     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_hp_yield)\
407     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_hp_stat)\
408     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_dhp)\
409     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_dhp_yield)\
410     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_dhp_stat)\
411     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpi)\
412     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpi_stat)\
413     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpb)\
414     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpb_yield)\
415     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpb_stat)\
416     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpt)\
417     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpt_stat)\
418     CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal
419
420 #define CDSUNIT_TEST_EllenBinTreeMap \
421     CPPUNIT_TEST(EllenBinTreeMap_hp)\
422     CPPUNIT_TEST(EllenBinTreeMap_hp_yield)\
423     CPPUNIT_TEST(EllenBinTreeMap_hp_stat)\
424     CPPUNIT_TEST(EllenBinTreeMap_dhp)\
425     CPPUNIT_TEST(EllenBinTreeMap_dhp_yield)\
426     CPPUNIT_TEST(EllenBinTreeMap_dhp_stat)\
427     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpi)\
428     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpi_stat)\
429     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb)\
430     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb_yield)\
431     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb_stat)\
432     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpt)\
433     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpt_stat)\
434     CDSUNIT_TEST_EllenBinTreeMap_RCU_signal
435
436 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
437 #   define CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal \
438     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less) \
439     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less) \
440     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_cmp_stat) \
441     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_cmp_stat) \
442     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_simple) \
443     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_simple) \
444     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat) \
445     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat) \
446     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_lazy) \
447     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \
448     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat) \
449     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat) \
450     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_bounded) \
451     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \
452     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat) \
453     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat) \
454
455 #   define CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal \
456     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less) \
457     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less) \
458     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_cmp_stat) \
459     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_cmp_stat) \
460     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_simple) \
461     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat) \
462     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple) \
463     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat) \
464     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_lazy) \
465     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat) \
466     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \
467     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat) \
468     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_bounded) \
469     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat) \
470     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \
471     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat) \
472
473 #else
474 #   define CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal
475 #   define CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal
476 #endif
477
478 #define CDSUNIT_DECLARE_BronsonAVLTreeMap \
479     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less)\
480     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less)\
481     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less)\
482     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_cmp_stat)\
483     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_cmp_stat)\
484     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_cmp_stat)\
485     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_simple)\
486     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\
487     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\
488     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat)\
489     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat)\
490     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat)\
491     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy)\
492     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\
493     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\
494     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat)\
495     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat)\
496     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat)\
497     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded)\
498     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\
499     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\
500     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded_stat)\
501     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded_stat)\
502     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat)\
503     CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal
504
505 #define CDSUNIT_TEST_BronsonAVLTreeMap \
506     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less)\
507     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_cmp_stat)\
508     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less)\
509     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_cmp_stat)\
510     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less)\
511     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_cmp_stat)\
512     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_simple)\
513     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat)\
514     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\
515     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat)\
516     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\
517     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat)\
518     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy)\
519     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat)\
520     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\
521     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat)\
522     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\
523     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat)\
524     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded)\
525     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded_stat)\
526     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\
527     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded_stat)\
528     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\
529     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat)\
530     CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal
531
532 #define CDSUNIT_DECLARE_StripedMap_common \
533     TEST_MAP(StripedMap_list) \
534     TEST_MAP(StripedMap_map) \
535     TEST_MAP(StripedMap_hashmap) \
536     TEST_MAP(StripedMap_boost_unordered_map)
537
538 #define CDSUNIT_TEST_StripedMap_common \
539     CPPUNIT_TEST(StripedMap_list) \
540     CPPUNIT_TEST(StripedMap_map) \
541     CPPUNIT_TEST(StripedMap_hashmap) \
542     CPPUNIT_TEST(StripedMap_boost_unordered_map)
543
544 #if BOOST_VERSION >= 104800
545 #   define CDSUNIT_DECLARE_StripedMap_boost_container \
546         TEST_MAP(StripedMap_boost_list) \
547         TEST_MAP(StripedMap_slist) \
548         TEST_MAP(StripedMap_boost_map)
549 #   define CDSUNIT_TEST_StripedMap_boost_container \
550         CPPUNIT_TEST(StripedMap_boost_list) \
551         CPPUNIT_TEST(StripedMap_slist) \
552         CPPUNIT_TEST(StripedMap_boost_map)
553 #else
554 #   define CDSUNIT_DECLARE_StripedMap_boost_container
555 #   define CDSUNIT_TEST_StripedMap_boost_container
556 #endif
557
558 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
559 #   define CDSUNIT_DECLARE_StripedMap_boost_flat_container \
560         TEST_MAP(StripedMap_boost_flat_map)
561 #   define CDSUNIT_TEST_StripedMap_boost_flat_container \
562         CPPUNIT_TEST(StripedMap_boost_flat_map)
563 #else
564 #   define CDSUNIT_DECLARE_StripedMap_boost_flat_container
565 #   define CDSUNIT_TEST_StripedMap_boost_flat_container
566 #endif
567
568 #define CDSUNIT_DECLARE_StripedMap \
569     CDSUNIT_DECLARE_StripedMap_common \
570     CDSUNIT_DECLARE_StripedMap_boost_container \
571     CDSUNIT_DECLARE_StripedMap_boost_flat_container
572 #define CDSUNIT_TEST_StripedMap \
573     CDSUNIT_TEST_StripedMap_common \
574     CDSUNIT_TEST_StripedMap_boost_container \
575     CDSUNIT_TEST_StripedMap_boost_flat_container
576
577
578
579 #define CDSUNIT_DECLARE_RefinableMap_common \
580     TEST_MAP(RefinableMap_list) \
581     TEST_MAP(RefinableMap_map) \
582     TEST_MAP(RefinableMap_hashmap) \
583     TEST_MAP(RefinableMap_boost_unordered_map)
584 #define CDSUNIT_TEST_RefinableMap_common \
585     CPPUNIT_TEST(RefinableMap_list) \
586     CPPUNIT_TEST(RefinableMap_map) \
587     CPPUNIT_TEST(RefinableMap_hashmap) \
588     CPPUNIT_TEST(RefinableMap_boost_unordered_map)
589
590 #if BOOST_VERSION >= 104800
591 #   define CDSUNIT_DECLARE_RefinableMap_boost_container \
592         TEST_MAP(RefinableMap_boost_list) \
593         TEST_MAP(RefinableMap_slist) \
594         TEST_MAP(RefinableMap_boost_map)
595 #   define CDSUNIT_TEST_RefinableMap_boost_container \
596         CPPUNIT_TEST(RefinableMap_boost_list) \
597         CPPUNIT_TEST(RefinableMap_slist) \
598         CPPUNIT_TEST(RefinableMap_boost_map)
599 #else
600 #   define CDSUNIT_DECLARE_RefinableMap_boost_container
601 #   define CDSUNIT_TEST_RefinableMap_boost_container
602 #endif
603
604 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
605 #   define CDSUNIT_DECLARE_RefinableMap_boost_flat_container \
606         TEST_MAP(RefinableMap_boost_flat_map)
607 #   define CDSUNIT_TEST_RefinableMap_boost_flat_container \
608         CPPUNIT_TEST(RefinableMap_boost_flat_map)
609 #else
610 #   define CDSUNIT_DECLARE_RefinableMap_boost_flat_container
611 #   define CDSUNIT_TEST_RefinableMap_boost_flat_container
612 #endif
613
614 #define CDSUNIT_DECLARE_RefinableMap \
615     CDSUNIT_DECLARE_RefinableMap_common \
616     CDSUNIT_DECLARE_RefinableMap_boost_container \
617     CDSUNIT_DECLARE_RefinableMap_boost_flat_container
618 #define CDSUNIT_TEST_RefinableMap \
619     CDSUNIT_TEST_RefinableMap_common \
620     CDSUNIT_TEST_RefinableMap_boost_container \
621     CDSUNIT_TEST_RefinableMap_boost_flat_container
622
623 #define CDSUNIT_DECLARE_CuckooMap \
624     TEST_MAP(CuckooStripedMap_list_unord)\
625     TEST_MAP(CuckooStripedMap_list_ord)\
626     TEST_MAP(CuckooStripedMap_vector_unord)\
627     TEST_MAP(CuckooStripedMap_vector_ord)\
628     TEST_MAP(CuckooStripedMap_list_unord_stat)\
629     TEST_MAP(CuckooStripedMap_list_ord_stat)\
630     TEST_MAP(CuckooStripedMap_vector_unord_stat)\
631     TEST_MAP(CuckooStripedMap_vector_ord_stat)\
632     TEST_MAP(CuckooRefinableMap_list_unord)\
633     TEST_MAP(CuckooRefinableMap_list_ord)\
634     TEST_MAP(CuckooRefinableMap_vector_unord)\
635     TEST_MAP(CuckooRefinableMap_vector_ord) \
636     TEST_MAP(CuckooRefinableMap_list_unord_stat)\
637     TEST_MAP(CuckooRefinableMap_list_ord_stat)\
638     TEST_MAP(CuckooRefinableMap_vector_unord_stat)\
639     TEST_MAP(CuckooRefinableMap_vector_ord_stat) \
640     TEST_MAP(CuckooStripedMap_list_unord_storehash)\
641     TEST_MAP(CuckooStripedMap_list_ord_storehash)\
642     TEST_MAP(CuckooStripedMap_vector_unord_storehash)\
643     TEST_MAP(CuckooStripedMap_vector_ord_storehash)\
644     TEST_MAP(CuckooRefinableMap_list_unord_storehash)\
645     TEST_MAP(CuckooRefinableMap_list_ord_storehash)\
646     TEST_MAP(CuckooRefinableMap_vector_unord_storehash)\
647     TEST_MAP(CuckooRefinableMap_vector_ord_storehash)
648
649 #define CDSUNIT_TEST_CuckooMap \
650     CPPUNIT_TEST(CuckooStripedMap_list_unord)\
651     CPPUNIT_TEST(CuckooStripedMap_list_unord_stat)\
652     CPPUNIT_TEST(CuckooStripedMap_list_unord_storehash)\
653     CPPUNIT_TEST(CuckooStripedMap_list_ord)\
654     CPPUNIT_TEST(CuckooStripedMap_list_ord_stat)\
655     CPPUNIT_TEST(CuckooStripedMap_list_ord_storehash)\
656     CPPUNIT_TEST(CuckooStripedMap_vector_unord)\
657     CPPUNIT_TEST(CuckooStripedMap_vector_unord_stat)\
658     CPPUNIT_TEST(CuckooStripedMap_vector_unord_storehash)\
659     CPPUNIT_TEST(CuckooStripedMap_vector_ord)\
660     CPPUNIT_TEST(CuckooStripedMap_vector_ord_stat)\
661     CPPUNIT_TEST(CuckooStripedMap_vector_ord_storehash)\
662     CPPUNIT_TEST(CuckooRefinableMap_list_unord)\
663     CPPUNIT_TEST(CuckooRefinableMap_list_unord_stat)\
664     CPPUNIT_TEST(CuckooRefinableMap_list_unord_storehash)\
665     CPPUNIT_TEST(CuckooRefinableMap_list_ord)\
666     CPPUNIT_TEST(CuckooRefinableMap_list_ord_stat)\
667     CPPUNIT_TEST(CuckooRefinableMap_list_ord_storehash)\
668     CPPUNIT_TEST(CuckooRefinableMap_vector_unord)\
669     CPPUNIT_TEST(CuckooRefinableMap_vector_unord_stat)\
670     CPPUNIT_TEST(CuckooRefinableMap_vector_unord_storehash)\
671     CPPUNIT_TEST(CuckooRefinableMap_vector_ord)\
672     CPPUNIT_TEST(CuckooRefinableMap_vector_ord_stat)\
673     CPPUNIT_TEST(CuckooRefinableMap_vector_ord_storehash)
674
675 #endif // #ifndef CDSUNIT_MAP_DEFS_H