Merge commit 'a9213ce45072f66144284647ccae242f91ca30af' into dev
[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_less_stat) \
441     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_stat) \
442     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_cmp_ic) \
443     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_cmp_ic) \
444     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_cmp_ic_stat) \
445     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_cmp_ic_stat) \
446     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_simple) \
447     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_simple) \
448     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat) \
449     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat) \
450     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_lazy) \
451     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \
452     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat) \
453     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat) \
454     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_bounded) \
455     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \
456     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat) \
457     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat) \
458
459 #   define CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal \
460     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less) \
461     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less) \
462     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_stat) \
463     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_stat) \
464     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_cmp_ic) \
465     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_cmp_ic) \
466     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_cmp_ic_stat) \
467     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_cmp_ic_stat) \
468     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_simple) \
469     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple) \
470     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat) \
471     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat) \
472     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_lazy) \
473     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \
474     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat) \
475     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat) \
476     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_bounded) \
477     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \
478     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat) \
479     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat) \
480
481 #else
482 #   define CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal
483 #   define CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal
484 #endif
485
486 #define CDSUNIT_DECLARE_BronsonAVLTreeMap \
487     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less)\
488     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less)\
489     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less)\
490     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_stat)\
491     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_stat)\
492     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_stat)\
493     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_cmp_ic)\
494     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_cmp_ic)\
495     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_cmp_ic)\
496     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_cmp_ic_stat)\
497     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_cmp_ic_stat)\
498     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_cmp_ic_stat)\
499     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_simple)\
500     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\
501     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\
502     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat)\
503     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat)\
504     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat)\
505     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy)\
506     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\
507     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\
508     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat)\
509     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat)\
510     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat)\
511     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded)\
512     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\
513     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\
514     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded_stat)\
515     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded_stat)\
516     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat)\
517     CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal
518
519 #define CDSUNIT_TEST_BronsonAVLTreeMap \
520     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less)\
521     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less)\
522     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less)\
523     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_stat)\
524     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_stat)\
525     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_stat)\
526     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_cmp_ic)\
527     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_cmp_ic)\
528     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_cmp_ic)\
529     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_cmp_ic_stat)\
530     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_cmp_ic_stat)\
531     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_cmp_ic_stat)\
532     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_simple)\
533     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\
534     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\
535     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat)\
536     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat)\
537     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat)\
538     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy)\
539     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\
540     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\
541     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat)\
542     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat)\
543     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat)\
544     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded)\
545     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\
546     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\
547     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded_stat)\
548     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded_stat)\
549     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat)\
550     CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal
551
552 #define CDSUNIT_DECLARE_StripedMap_common \
553     TEST_MAP(StripedMap_list) \
554     TEST_MAP(StripedMap_map) \
555     TEST_MAP(StripedMap_hashmap) \
556     TEST_MAP(StripedMap_boost_unordered_map)
557
558 #define CDSUNIT_TEST_StripedMap_common \
559     CPPUNIT_TEST(StripedMap_list) \
560     CPPUNIT_TEST(StripedMap_map) \
561     CPPUNIT_TEST(StripedMap_hashmap) \
562     CPPUNIT_TEST(StripedMap_boost_unordered_map)
563
564 #if BOOST_VERSION >= 104800
565 #   define CDSUNIT_DECLARE_StripedMap_boost_container \
566         TEST_MAP(StripedMap_boost_list) \
567         TEST_MAP(StripedMap_slist) \
568         TEST_MAP(StripedMap_boost_map)
569 #   define CDSUNIT_TEST_StripedMap_boost_container \
570         CPPUNIT_TEST(StripedMap_boost_list) \
571         CPPUNIT_TEST(StripedMap_slist) \
572         CPPUNIT_TEST(StripedMap_boost_map)
573 #else
574 #   define CDSUNIT_DECLARE_StripedMap_boost_container
575 #   define CDSUNIT_TEST_StripedMap_boost_container
576 #endif
577
578 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
579 #   define CDSUNIT_DECLARE_StripedMap_boost_flat_container \
580         TEST_MAP(StripedMap_boost_flat_map)
581 #   define CDSUNIT_TEST_StripedMap_boost_flat_container \
582         CPPUNIT_TEST(StripedMap_boost_flat_map)
583 #else
584 #   define CDSUNIT_DECLARE_StripedMap_boost_flat_container
585 #   define CDSUNIT_TEST_StripedMap_boost_flat_container
586 #endif
587
588 #define CDSUNIT_DECLARE_StripedMap \
589     CDSUNIT_DECLARE_StripedMap_common \
590     CDSUNIT_DECLARE_StripedMap_boost_container \
591     CDSUNIT_DECLARE_StripedMap_boost_flat_container
592 #define CDSUNIT_TEST_StripedMap \
593     CDSUNIT_TEST_StripedMap_common \
594     CDSUNIT_TEST_StripedMap_boost_container \
595     CDSUNIT_TEST_StripedMap_boost_flat_container
596
597
598
599 #define CDSUNIT_DECLARE_RefinableMap_common \
600     TEST_MAP(RefinableMap_list) \
601     TEST_MAP(RefinableMap_map) \
602     TEST_MAP(RefinableMap_hashmap) \
603     TEST_MAP(RefinableMap_boost_unordered_map)
604 #define CDSUNIT_TEST_RefinableMap_common \
605     CPPUNIT_TEST(RefinableMap_list) \
606     CPPUNIT_TEST(RefinableMap_map) \
607     CPPUNIT_TEST(RefinableMap_hashmap) \
608     CPPUNIT_TEST(RefinableMap_boost_unordered_map)
609
610 #if BOOST_VERSION >= 104800
611 #   define CDSUNIT_DECLARE_RefinableMap_boost_container \
612         TEST_MAP(RefinableMap_boost_list) \
613         TEST_MAP(RefinableMap_slist) \
614         TEST_MAP(RefinableMap_boost_map)
615 #   define CDSUNIT_TEST_RefinableMap_boost_container \
616         CPPUNIT_TEST(RefinableMap_boost_list) \
617         CPPUNIT_TEST(RefinableMap_slist) \
618         CPPUNIT_TEST(RefinableMap_boost_map)
619 #else
620 #   define CDSUNIT_DECLARE_RefinableMap_boost_container
621 #   define CDSUNIT_TEST_RefinableMap_boost_container
622 #endif
623
624 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
625 #   define CDSUNIT_DECLARE_RefinableMap_boost_flat_container \
626         TEST_MAP(RefinableMap_boost_flat_map)
627 #   define CDSUNIT_TEST_RefinableMap_boost_flat_container \
628         CPPUNIT_TEST(RefinableMap_boost_flat_map)
629 #else
630 #   define CDSUNIT_DECLARE_RefinableMap_boost_flat_container
631 #   define CDSUNIT_TEST_RefinableMap_boost_flat_container
632 #endif
633
634 #define CDSUNIT_DECLARE_RefinableMap \
635     CDSUNIT_DECLARE_RefinableMap_common \
636     CDSUNIT_DECLARE_RefinableMap_boost_container \
637     CDSUNIT_DECLARE_RefinableMap_boost_flat_container
638 #define CDSUNIT_TEST_RefinableMap \
639     CDSUNIT_TEST_RefinableMap_common \
640     CDSUNIT_TEST_RefinableMap_boost_container \
641     CDSUNIT_TEST_RefinableMap_boost_flat_container
642
643 #define CDSUNIT_DECLARE_CuckooMap \
644     TEST_MAP(CuckooStripedMap_list_unord)\
645     TEST_MAP(CuckooStripedMap_list_ord)\
646     TEST_MAP(CuckooStripedMap_vector_unord)\
647     TEST_MAP(CuckooStripedMap_vector_ord)\
648     TEST_MAP(CuckooStripedMap_list_unord_stat)\
649     TEST_MAP(CuckooStripedMap_list_ord_stat)\
650     TEST_MAP(CuckooStripedMap_vector_unord_stat)\
651     TEST_MAP(CuckooStripedMap_vector_ord_stat)\
652     TEST_MAP(CuckooRefinableMap_list_unord)\
653     TEST_MAP(CuckooRefinableMap_list_ord)\
654     TEST_MAP(CuckooRefinableMap_vector_unord)\
655     TEST_MAP(CuckooRefinableMap_vector_ord) \
656     TEST_MAP(CuckooRefinableMap_list_unord_stat)\
657     TEST_MAP(CuckooRefinableMap_list_ord_stat)\
658     TEST_MAP(CuckooRefinableMap_vector_unord_stat)\
659     TEST_MAP(CuckooRefinableMap_vector_ord_stat) \
660     TEST_MAP(CuckooStripedMap_list_unord_storehash)\
661     TEST_MAP(CuckooStripedMap_list_ord_storehash)\
662     TEST_MAP(CuckooStripedMap_vector_unord_storehash)\
663     TEST_MAP(CuckooStripedMap_vector_ord_storehash)\
664     TEST_MAP(CuckooRefinableMap_list_unord_storehash)\
665     TEST_MAP(CuckooRefinableMap_list_ord_storehash)\
666     TEST_MAP(CuckooRefinableMap_vector_unord_storehash)\
667     TEST_MAP(CuckooRefinableMap_vector_ord_storehash)
668
669 #define CDSUNIT_TEST_CuckooMap \
670     CPPUNIT_TEST(CuckooStripedMap_list_unord)\
671     CPPUNIT_TEST(CuckooStripedMap_list_unord_stat)\
672     CPPUNIT_TEST(CuckooStripedMap_list_unord_storehash)\
673     CPPUNIT_TEST(CuckooStripedMap_list_ord)\
674     CPPUNIT_TEST(CuckooStripedMap_list_ord_stat)\
675     CPPUNIT_TEST(CuckooStripedMap_list_ord_storehash)\
676     CPPUNIT_TEST(CuckooStripedMap_vector_unord)\
677     CPPUNIT_TEST(CuckooStripedMap_vector_unord_stat)\
678     CPPUNIT_TEST(CuckooStripedMap_vector_unord_storehash)\
679     CPPUNIT_TEST(CuckooStripedMap_vector_ord)\
680     CPPUNIT_TEST(CuckooStripedMap_vector_ord_stat)\
681     CPPUNIT_TEST(CuckooStripedMap_vector_ord_storehash)\
682     CPPUNIT_TEST(CuckooRefinableMap_list_unord)\
683     CPPUNIT_TEST(CuckooRefinableMap_list_unord_stat)\
684     CPPUNIT_TEST(CuckooRefinableMap_list_unord_storehash)\
685     CPPUNIT_TEST(CuckooRefinableMap_list_ord)\
686     CPPUNIT_TEST(CuckooRefinableMap_list_ord_stat)\
687     CPPUNIT_TEST(CuckooRefinableMap_list_ord_storehash)\
688     CPPUNIT_TEST(CuckooRefinableMap_vector_unord)\
689     CPPUNIT_TEST(CuckooRefinableMap_vector_unord_stat)\
690     CPPUNIT_TEST(CuckooRefinableMap_vector_unord_storehash)\
691     CPPUNIT_TEST(CuckooRefinableMap_vector_ord)\
692     CPPUNIT_TEST(CuckooRefinableMap_vector_ord_stat)\
693     CPPUNIT_TEST(CuckooRefinableMap_vector_ord_storehash)
694
695 #endif // #ifndef CDSUNIT_MAP_DEFS_H