Move libcds 1.6.0 from SVN
[libcds.git] / tests / unit / stack / stack_defs.h
1 //$$CDS-header$$
2
3 #ifndef __CDSUNIT_STACK_DEFS_H
4 #define __CDSUNIT_STACK_DEFS_H
5
6 #define CDSUNIT_DECLARE_TreiberStack \
7     TEST_CASE( Treiber_HP        ) \
8     TEST_CASE( Treiber_HP_seqcst ) \
9     /*TEST_CASE( Treiber_HP_yield  )*/ \
10     TEST_CASE( Treiber_HP_pause  ) \
11     TEST_CASE( Treiber_HP_exp    ) \
12     TEST_CASE( Treiber_HP_stat   ) \
13     /*TEST_CASE( Treiber_HRC       )*/ \
14     /*TEST_CASE( Treiber_HRC_yield )*/ \
15     /*TEST_CASE( Treiber_HRC_pause )*/ \
16     /*TEST_CASE( Treiber_HRC_exp   )*/ \
17     /*TEST_CASE( Treiber_HRC_stat  )*/ \
18     TEST_CASE( Treiber_PTB       ) \
19     /*TEST_CASE( Treiber_PTB_yield )*/ \
20     TEST_CASE( Treiber_PTB_pause ) \
21     TEST_CASE( Treiber_PTB_exp   ) \
22     TEST_CASE( Treiber_PTB_stat  )
23
24 #define CDSUNIT_TEST_TreiberStack \
25     CPPUNIT_TEST( Treiber_HP        ) \
26     CPPUNIT_TEST( Treiber_HP_seqcst ) \
27     /*CPPUNIT_TEST( Treiber_HP_yield  )*/ \
28     CPPUNIT_TEST( Treiber_HP_pause  ) \
29     CPPUNIT_TEST( Treiber_HP_exp    ) \
30     CPPUNIT_TEST( Treiber_HP_stat   ) \
31     /*CPPUNIT_TEST( Treiber_HRC       )*/ \
32     /*CPPUNIT_TEST( Treiber_HRC_yield )*/ \
33     /*CPPUNIT_TEST( Treiber_HRC_pause )*/ \
34     /*CPPUNIT_TEST( Treiber_HRC_exp   )*/ \
35     /*CPPUNIT_TEST( Treiber_HRC_stat  )*/ \
36     CPPUNIT_TEST( Treiber_PTB       ) \
37     /*CPPUNIT_TEST( Treiber_PTB_yield )*/ \
38     CPPUNIT_TEST( Treiber_PTB_pause ) \
39     CPPUNIT_TEST( Treiber_PTB_exp   ) \
40     CPPUNIT_TEST( Treiber_PTB_stat  )
41
42 #define CDSUNIT_DECLARE_EliminationStack \
43     TEST_ELIMINATION( Elimination_HP        ) \
44     TEST_ELIMINATION( Elimination_HP_2ms    ) \
45     TEST_ELIMINATION( Elimination_HP_2ms_stat) \
46     TEST_ELIMINATION( Elimination_HP_5ms    ) \
47     TEST_ELIMINATION( Elimination_HP_5ms_stat) \
48     TEST_ELIMINATION( Elimination_HP_10ms    ) \
49     TEST_ELIMINATION( Elimination_HP_10ms_stat) \
50     TEST_ELIMINATION( Elimination_HP_seqcst ) \
51     /*TEST_ELIMINATION( Elimination_HP_yield  )*/ \
52     TEST_ELIMINATION( Elimination_HP_pause  ) \
53     TEST_ELIMINATION( Elimination_HP_exp    ) \
54     TEST_ELIMINATION( Elimination_HP_stat   ) \
55     TEST_ELIMINATION( Elimination_HP_dyn    ) \
56     TEST_ELIMINATION( Elimination_HP_dyn_stat) \
57     /*TEST_ELIMINATION( Elimination_HRC       )*/ \
58     /*TEST_ELIMINATION( Elimination_HRC_yield )*/ \
59     /*TEST_ELIMINATION( Elimination_HRC_pause )*/ \
60     /*TEST_ELIMINATION( Elimination_HRC_exp   )*/ \
61     /*TEST_ELIMINATION( Elimination_HRC_stat  )*/ \
62     /*TEST_ELIMINATION( Elimination_HRC_dyn   )*/ \
63     /*TEST_ELIMINATION( Elimination_HRC_dyn_stat)*/ \
64     TEST_ELIMINATION( Elimination_PTB       ) \
65     TEST_ELIMINATION( Elimination_PTB_2ms    ) \
66     TEST_ELIMINATION( Elimination_PTB_2ms_stat) \
67     TEST_ELIMINATION( Elimination_PTB_5ms    ) \
68     TEST_ELIMINATION( Elimination_PTB_5ms_stat) \
69     TEST_ELIMINATION( Elimination_PTB_10ms    ) \
70     TEST_ELIMINATION( Elimination_PTB_10ms_stat) \
71     /*TEST_ELIMINATION( Elimination_PTB_yield )*/ \
72     TEST_ELIMINATION( Elimination_PTB_pause ) \
73     TEST_ELIMINATION( Elimination_PTB_exp   ) \
74     TEST_ELIMINATION( Elimination_PTB_stat  ) \
75     TEST_ELIMINATION( Elimination_PTB_dyn   ) \
76     TEST_ELIMINATION( Elimination_PTB_dyn_stat)
77
78 #define CDSUNIT_TEST_EliminationStack \
79     CPPUNIT_TEST( Elimination_HP        ) \
80     CPPUNIT_TEST( Elimination_HP_2ms    ) \
81     CPPUNIT_TEST( Elimination_HP_2ms_stat) \
82     CPPUNIT_TEST( Elimination_HP_5ms    ) \
83     CPPUNIT_TEST( Elimination_HP_5ms_stat) \
84     CPPUNIT_TEST( Elimination_HP_10ms    ) \
85     CPPUNIT_TEST( Elimination_HP_10ms_stat) \
86     CPPUNIT_TEST( Elimination_HP_seqcst ) \
87     /*CPPUNIT_TEST( Elimination_HP_yield  )*/ \
88     CPPUNIT_TEST( Elimination_HP_pause  ) \
89     CPPUNIT_TEST( Elimination_HP_exp    ) \
90     CPPUNIT_TEST( Elimination_HP_stat   ) \
91     CPPUNIT_TEST( Elimination_HP_dyn    ) \
92     CPPUNIT_TEST( Elimination_HP_dyn_stat) \
93     /*CPPUNIT_TEST( Elimination_HRC       )*/ \
94     /*CPPUNIT_TEST( Elimination_HRC_yield )*/ \
95     /*CPPUNIT_TEST( Elimination_HRC_pause )*/ \
96     /*CPPUNIT_TEST( Elimination_HRC_exp   )*/ \
97     /*CPPUNIT_TEST( Elimination_HRC_stat  )*/ \
98     /*CPPUNIT_TEST( Elimination_HRC_dyn   )*/ \
99     /*CPPUNIT_TEST( Elimination_HRC_dyn_stat)*/ \
100     CPPUNIT_TEST( Elimination_PTB       ) \
101     CPPUNIT_TEST( Elimination_PTB_2ms    ) \
102     CPPUNIT_TEST( Elimination_PTB_2ms_stat) \
103     CPPUNIT_TEST( Elimination_PTB_5ms    ) \
104     CPPUNIT_TEST( Elimination_PTB_5ms_stat) \
105     CPPUNIT_TEST( Elimination_PTB_10ms    ) \
106     CPPUNIT_TEST( Elimination_PTB_10ms_stat) \
107     /*CPPUNIT_TEST( Elimination_PTB_yield )*/ \
108     CPPUNIT_TEST( Elimination_PTB_pause ) \
109     CPPUNIT_TEST( Elimination_PTB_exp   ) \
110     CPPUNIT_TEST( Elimination_PTB_stat  ) \
111     CPPUNIT_TEST( Elimination_PTB_dyn   ) \
112     CPPUNIT_TEST( Elimination_PTB_dyn_stat)
113
114 #define CDSUNIT_DECLARE_MichaelDeque \
115     TEST_BOUNDED( MichaelDequeL_HP          ) \
116     TEST_BOUNDED( MichaelDequeL_HP_seqcst   ) \
117     TEST_BOUNDED( MichaelDequeL_HP_ic       ) \
118     TEST_BOUNDED( MichaelDequeL_HP_exp      ) \
119     TEST_BOUNDED( MichaelDequeL_HP_yield    ) \
120     TEST_BOUNDED( MichaelDequeL_HP_stat     ) \
121     TEST_BOUNDED( MichaelDequeL_PTB         ) \
122     TEST_BOUNDED( MichaelDequeL_PTB_seqcst  ) \
123     TEST_BOUNDED( MichaelDequeL_PTB_ic      ) \
124     TEST_BOUNDED( MichaelDequeL_PTB_exp     ) \
125     TEST_BOUNDED( MichaelDequeL_PTB_yield   ) \
126     TEST_BOUNDED( MichaelDequeL_PTB_stat    ) \
127     TEST_BOUNDED( MichaelDequeR_HP          ) \
128     TEST_BOUNDED( MichaelDequeR_HP_seqcst   ) \
129     TEST_BOUNDED( MichaelDequeR_HP_ic       ) \
130     TEST_BOUNDED( MichaelDequeR_HP_exp      ) \
131     TEST_BOUNDED( MichaelDequeR_HP_yield    ) \
132     TEST_BOUNDED( MichaelDequeR_HP_stat     ) \
133     TEST_BOUNDED( MichaelDequeR_PTB         ) \
134     TEST_BOUNDED( MichaelDequeR_PTB_seqcst  ) \
135     TEST_BOUNDED( MichaelDequeR_PTB_ic      ) \
136     TEST_BOUNDED( MichaelDequeR_PTB_exp     ) \
137     TEST_BOUNDED( MichaelDequeR_PTB_yield   ) \
138     TEST_BOUNDED( MichaelDequeR_PTB_stat    )
139
140 #define CDSUNIT_TEST_MichaelDeque \
141     CPPUNIT_TEST( MichaelDequeL_HP          ) \
142     /*CPPUNIT_TEST( MichaelDequeL_HP_seqcst   )*/ \
143     /*CPPUNIT_TEST( MichaelDequeL_HP_ic       )*/ \
144     /*CPPUNIT_TEST( MichaelDequeL_HP_exp      )*/ \
145     /*CPPUNIT_TEST( MichaelDequeL_HP_yield    )*/ \
146     CPPUNIT_TEST( MichaelDequeL_HP_stat     ) \
147     CPPUNIT_TEST( MichaelDequeL_PTB         ) \
148     /*CPPUNIT_TEST( MichaelDequeL_PTB_seqcst  )*/ \
149     /*CPPUNIT_TEST( MichaelDequeL_PTB_ic      )*/ \
150     /*CPPUNIT_TEST( MichaelDequeL_PTB_exp     )*/ \
151     /*CPPUNIT_TEST( MichaelDequeL_PTB_yield   )*/ \
152     CPPUNIT_TEST( MichaelDequeL_PTB_stat    ) \
153     CPPUNIT_TEST( MichaelDequeR_HP          ) \
154     /*CPPUNIT_TEST( MichaelDequeR_HP_seqcst   )*/ \
155     /*CPPUNIT_TEST( MichaelDequeR_HP_ic       )*/ \
156     /*CPPUNIT_TEST( MichaelDequeR_HP_exp      )*/ \
157     /*CPPUNIT_TEST( MichaelDequeR_HP_yield    )*/ \
158     CPPUNIT_TEST( MichaelDequeR_HP_stat     ) \
159     CPPUNIT_TEST( MichaelDequeR_PTB         ) \
160     /*CPPUNIT_TEST( MichaelDequeR_PTB_seqcst  )*/ \
161     /*CPPUNIT_TEST( MichaelDequeR_PTB_ic      )*/ \
162     /*CPPUNIT_TEST( MichaelDequeR_PTB_exp     )*/ \
163     /*CPPUNIT_TEST( MichaelDequeR_PTB_yield   )*/ \
164     CPPUNIT_TEST( MichaelDequeR_PTB_stat    )
165
166 #define CDSUNIT_DECLARE_FCStack \
167     TEST_CASE( FCStack_deque ) \
168     TEST_CASE( FCStack_deque_mutex ) \
169     TEST_CASE( FCStack_deque_stat ) \
170     TEST_CASE( FCStack_deque_elimination ) \
171     TEST_CASE( FCStack_deque_elimination_stat ) \
172     TEST_CASE( FCStack_vector ) \
173     TEST_CASE( FCStack_vector_mutex ) \
174     TEST_CASE( FCStack_vector_stat ) \
175     TEST_CASE( FCStack_vector_elimination ) \
176     TEST_CASE( FCStack_vector_elimination_stat ) \
177     TEST_CASE( FCStack_list ) \
178     TEST_CASE( FCStack_list_mutex ) \
179     TEST_CASE( FCStack_list_stat ) \
180     TEST_CASE( FCStack_list_elimination ) \
181     TEST_CASE( FCStack_list_elimination_stat )
182
183 #define CDSUNIT_TEST_FCStack \
184     CPPUNIT_TEST( FCStack_deque ) \
185     CPPUNIT_TEST( FCStack_deque_mutex ) \
186     CPPUNIT_TEST( FCStack_deque_stat ) \
187     CPPUNIT_TEST( FCStack_deque_elimination ) \
188     CPPUNIT_TEST( FCStack_deque_elimination_stat ) \
189     CPPUNIT_TEST( FCStack_vector ) \
190     CPPUNIT_TEST( FCStack_vector_mutex ) \
191     CPPUNIT_TEST( FCStack_vector_stat ) \
192     CPPUNIT_TEST( FCStack_vector_elimination ) \
193     CPPUNIT_TEST( FCStack_vector_elimination_stat ) \
194     CPPUNIT_TEST( FCStack_list ) \
195     CPPUNIT_TEST( FCStack_list_mutex ) \
196     CPPUNIT_TEST( FCStack_list_stat ) \
197     CPPUNIT_TEST( FCStack_list_elimination ) \
198     CPPUNIT_TEST( FCStack_list_elimination_stat )
199
200
201 #define CDSUNIT_DECLARE_FCDeque \
202     TEST_CASE( FCDequeL_default ) \
203     TEST_CASE( FCDequeL_mutex ) \
204     TEST_CASE( FCDequeL_stat ) \
205     TEST_CASE( FCDequeL_elimination ) \
206     TEST_CASE( FCDequeL_elimination_stat ) \
207     TEST_CASE( FCDequeR_default ) \
208     TEST_CASE( FCDequeR_mutex ) \
209     TEST_CASE( FCDequeR_stat ) \
210     TEST_CASE( FCDequeR_elimination ) \
211     TEST_CASE( FCDequeR_elimination_stat )
212
213 #define CDSUNIT_TEST_FCDeque \
214     CPPUNIT_TEST( FCDequeL_default ) \
215     CPPUNIT_TEST( FCDequeL_mutex ) \
216     CPPUNIT_TEST( FCDequeL_stat ) \
217     CPPUNIT_TEST( FCDequeL_elimination ) \
218     CPPUNIT_TEST( FCDequeL_elimination_stat ) \
219     CPPUNIT_TEST( FCDequeR_default ) \
220     CPPUNIT_TEST( FCDequeR_mutex ) \
221     CPPUNIT_TEST( FCDequeR_stat ) \
222     CPPUNIT_TEST( FCDequeR_elimination ) \
223     CPPUNIT_TEST( FCDequeR_elimination_stat )
224
225
226 #define CDSUNIT_DECLARE_StdStack \
227     TEST_CASE( StdStack_Deque_Mutex  ) \
228     TEST_CASE( StdStack_Deque_Spin   ) \
229     TEST_CASE( StdStack_Vector_Mutex ) \
230     TEST_CASE( StdStack_Vector_Spin  ) \
231     TEST_CASE( StdStack_List_Mutex   ) \
232     TEST_CASE( StdStack_List_Spin    )
233
234 #define CDSUNIT_TEST_StdStack \
235     CPPUNIT_TEST( StdStack_Deque_Mutex  ) \
236     CPPUNIT_TEST( StdStack_Deque_Spin   ) \
237     CPPUNIT_TEST( StdStack_Vector_Mutex ) \
238     CPPUNIT_TEST( StdStack_Vector_Spin  ) \
239     CPPUNIT_TEST( StdStack_List_Mutex   ) \
240     CPPUNIT_TEST( StdStack_List_Spin    )
241
242 #endif // #ifndef __CDSUNIT_STACK_DEFS_H