Normalized split-list map types in unit-map tests
[libcds.git] / tests / unit / map2 / map_defs.h
1 //$$CDS-header$$
2
3 #ifndef _CDSUNIT_MAP2_MAP_DEFS_H
4 #define _CDSUNIT_MAP2_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_ptb_less_pascal)\
334     TEST_MAP_NOLF_EXTRACT(SkipListMap_ptb_cmp_pascal_stat)\
335     TEST_MAP_NOLF_EXTRACT(SkipListMap_ptb_less_xorshift)\
336     TEST_MAP_NOLF_EXTRACT(SkipListMap_ptb_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_ptb_less_pascal)\
358     CPPUNIT_TEST(SkipListMap_ptb_cmp_pascal_stat)\
359     CPPUNIT_TEST(SkipListMap_ptb_less_xorshift)\
360     CPPUNIT_TEST(SkipListMap_ptb_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_stat)\
407     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_ptb)\
408     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_ptb_stat)\
409     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpi)\
410     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpi_stat)\
411     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpb)\
412     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpb_stat)\
413     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpt)\
414     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpt_stat)\
415     CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal
416
417 #define CDSUNIT_TEST_EllenBinTreeMap \
418     CPPUNIT_TEST(EllenBinTreeMap_hp)\
419     CPPUNIT_TEST(EllenBinTreeMap_hp_stat)\
420     CPPUNIT_TEST(EllenBinTreeMap_ptb)\
421     CPPUNIT_TEST(EllenBinTreeMap_ptb_stat)\
422     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpi)\
423     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpi_stat)\
424     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb)\
425     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb_stat)\
426     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpt)\
427     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpt_stat)\
428     CDSUNIT_TEST_EllenBinTreeMap_RCU_signal
429
430
431 #define CDSUNIT_DECLARE_StripedMap_common \
432     TEST_MAP(StripedMap_list) \
433     TEST_MAP(StripedMap_map) \
434     TEST_MAP(StripedMap_hashmap) \
435     TEST_MAP(StripedMap_boost_unordered_map)
436
437 #define CDSUNIT_TEST_StripedMap_common \
438     CPPUNIT_TEST(StripedMap_list) \
439     CPPUNIT_TEST(StripedMap_map) \
440     CPPUNIT_TEST(StripedMap_hashmap) \
441     CPPUNIT_TEST(StripedMap_boost_unordered_map)
442
443 #if BOOST_VERSION >= 104800
444 #   define CDSUNIT_DECLARE_StripedMap_boost_container \
445         TEST_MAP(StripedMap_boost_list) \
446         TEST_MAP(StripedMap_slist) \
447         TEST_MAP(StripedMap_boost_map)
448 #   define CDSUNIT_TEST_StripedMap_boost_container \
449         CPPUNIT_TEST(StripedMap_boost_list) \
450         CPPUNIT_TEST(StripedMap_slist) \
451         CPPUNIT_TEST(StripedMap_boost_map)
452 #else
453 #   define CDSUNIT_DECLARE_StripedMap_boost_container
454 #   define CDSUNIT_TEST_StripedMap_boost_container
455 #endif
456
457 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
458 #   define CDSUNIT_DECLARE_StripedMap_boost_flat_container \
459         TEST_MAP(StripedMap_boost_flat_map)
460 #   define CDSUNIT_TEST_StripedMap_boost_flat_container \
461         CPPUNIT_TEST(StripedMap_boost_flat_map)
462 #else
463 #   define CDSUNIT_DECLARE_StripedMap_boost_flat_container
464 #   define CDSUNIT_TEST_StripedMap_boost_flat_container
465 #endif
466
467 #define CDSUNIT_DECLARE_StripedMap \
468     CDSUNIT_DECLARE_StripedMap_common \
469     CDSUNIT_DECLARE_StripedMap_boost_container \
470     CDSUNIT_DECLARE_StripedMap_boost_flat_container
471 #define CDSUNIT_TEST_StripedMap \
472     CDSUNIT_TEST_StripedMap_common \
473     CDSUNIT_TEST_StripedMap_boost_container \
474     CDSUNIT_TEST_StripedMap_boost_flat_container
475
476
477
478 #define CDSUNIT_DECLARE_RefinableMap_common \
479     TEST_MAP(RefinableMap_list) \
480     TEST_MAP(RefinableMap_map) \
481     TEST_MAP(RefinableMap_hashmap) \
482     TEST_MAP(RefinableMap_boost_unordered_map)
483 #define CDSUNIT_TEST_RefinableMap_common \
484     CPPUNIT_TEST(RefinableMap_list) \
485     CPPUNIT_TEST(RefinableMap_map) \
486     CPPUNIT_TEST(RefinableMap_hashmap) \
487     CPPUNIT_TEST(RefinableMap_boost_unordered_map)
488
489 #if BOOST_VERSION >= 104800
490 #   define CDSUNIT_DECLARE_RefinableMap_boost_container \
491         TEST_MAP(RefinableMap_boost_list) \
492         TEST_MAP(RefinableMap_slist) \
493         TEST_MAP(RefinableMap_boost_map)
494 #   define CDSUNIT_TEST_RefinableMap_boost_container \
495         CPPUNIT_TEST(RefinableMap_boost_list) \
496         CPPUNIT_TEST(RefinableMap_slist) \
497         CPPUNIT_TEST(RefinableMap_boost_map)
498 #else
499 #   define CDSUNIT_DECLARE_RefinableMap_boost_container
500 #   define CDSUNIT_TEST_RefinableMap_boost_container
501 #endif
502
503 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
504 #   define CDSUNIT_DECLARE_RefinableMap_boost_flat_container \
505         TEST_MAP(RefinableMap_boost_flat_map)
506 #   define CDSUNIT_TEST_RefinableMap_boost_flat_container \
507         CPPUNIT_TEST(RefinableMap_boost_flat_map)
508 #else
509 #   define CDSUNIT_DECLARE_RefinableMap_boost_flat_container
510 #   define CDSUNIT_TEST_RefinableMap_boost_flat_container
511 #endif
512
513 #define CDSUNIT_DECLARE_RefinableMap \
514     CDSUNIT_DECLARE_RefinableMap_common \
515     CDSUNIT_DECLARE_RefinableMap_boost_container \
516     CDSUNIT_DECLARE_RefinableMap_boost_flat_container
517 #define CDSUNIT_TEST_RefinableMap \
518     CDSUNIT_TEST_RefinableMap_common \
519     CDSUNIT_TEST_RefinableMap_boost_container \
520     CDSUNIT_TEST_RefinableMap_boost_flat_container
521
522 #define CDSUNIT_DECLARE_CuckooMap \
523     TEST_MAP(CuckooStripedMap_list_unord)\
524     TEST_MAP(CuckooStripedMap_list_ord)\
525     TEST_MAP(CuckooStripedMap_vector_unord)\
526     TEST_MAP(CuckooStripedMap_vector_ord)\
527     TEST_MAP(CuckooStripedMap_list_unord_stat)\
528     TEST_MAP(CuckooStripedMap_list_ord_stat)\
529     TEST_MAP(CuckooStripedMap_vector_unord_stat)\
530     TEST_MAP(CuckooStripedMap_vector_ord_stat)\
531     TEST_MAP(CuckooRefinableMap_list_unord)\
532     TEST_MAP(CuckooRefinableMap_list_ord)\
533     TEST_MAP(CuckooRefinableMap_vector_unord)\
534     TEST_MAP(CuckooRefinableMap_vector_ord) \
535     TEST_MAP(CuckooRefinableMap_list_unord_stat)\
536     TEST_MAP(CuckooRefinableMap_list_ord_stat)\
537     TEST_MAP(CuckooRefinableMap_vector_unord_stat)\
538     TEST_MAP(CuckooRefinableMap_vector_ord_stat) \
539     TEST_MAP(CuckooStripedMap_list_unord_storehash)\
540     TEST_MAP(CuckooStripedMap_list_ord_storehash)\
541     TEST_MAP(CuckooStripedMap_vector_unord_storehash)\
542     TEST_MAP(CuckooStripedMap_vector_ord_storehash)\
543     TEST_MAP(CuckooRefinableMap_list_unord_storehash)\
544     TEST_MAP(CuckooRefinableMap_list_ord_storehash)\
545     TEST_MAP(CuckooRefinableMap_vector_unord_storehash)\
546     TEST_MAP(CuckooRefinableMap_vector_ord_storehash)
547
548 #define CDSUNIT_TEST_CuckooMap \
549     CPPUNIT_TEST(CuckooStripedMap_list_unord)\
550     CPPUNIT_TEST(CuckooStripedMap_list_unord_stat)\
551     CPPUNIT_TEST(CuckooStripedMap_list_unord_storehash)\
552     CPPUNIT_TEST(CuckooStripedMap_list_ord)\
553     CPPUNIT_TEST(CuckooStripedMap_list_ord_stat)\
554     CPPUNIT_TEST(CuckooStripedMap_list_ord_storehash)\
555     CPPUNIT_TEST(CuckooStripedMap_vector_unord)\
556     CPPUNIT_TEST(CuckooStripedMap_vector_unord_stat)\
557     CPPUNIT_TEST(CuckooStripedMap_vector_unord_storehash)\
558     CPPUNIT_TEST(CuckooStripedMap_vector_ord)\
559     CPPUNIT_TEST(CuckooStripedMap_vector_ord_stat)\
560     CPPUNIT_TEST(CuckooStripedMap_vector_ord_storehash)\
561     CPPUNIT_TEST(CuckooRefinableMap_list_unord)\
562     CPPUNIT_TEST(CuckooRefinableMap_list_unord_stat)\
563     CPPUNIT_TEST(CuckooRefinableMap_list_unord_storehash)\
564     CPPUNIT_TEST(CuckooRefinableMap_list_ord)\
565     CPPUNIT_TEST(CuckooRefinableMap_list_ord_stat)\
566     CPPUNIT_TEST(CuckooRefinableMap_list_ord_storehash)\
567     CPPUNIT_TEST(CuckooRefinableMap_vector_unord)\
568     CPPUNIT_TEST(CuckooRefinableMap_vector_unord_stat)\
569     CPPUNIT_TEST(CuckooRefinableMap_vector_unord_storehash)\
570     CPPUNIT_TEST(CuckooRefinableMap_vector_ord)\
571     CPPUNIT_TEST(CuckooRefinableMap_vector_ord_stat)\
572     CPPUNIT_TEST(CuckooRefinableMap_vector_ord_storehash)
573
574 #endif // #ifndef _CDSUNIT_MAP2_MAP_DEFS_H