Remove stack test for MichaelDeque
[libcds.git] / tests / unit / stack / intrusive_stack_defs.h
1 //$$CDS-header$$
2
3 #ifndef __CDSUNIT_INTRUSIVE_STACK_DEFS_H
4 #define __CDSUNIT_INTRUSIVE_STACK_DEFS_H
5
6 #define CDSUNIT_DECLARE_TreiberStack \
7     TEST_CASE( Treiber_HP, cds::intrusive::single_link::node< cds::gc::HP >        ) \
8     TEST_CASE( Treiber_HP_seqcst, cds::intrusive::single_link::node< cds::gc::HP > ) \
9     /*TEST_CASE( Treiber_HP_yield, cds::intrusive::single_link::node< cds::gc::HP >  )*/ \
10     TEST_CASE( Treiber_HP_pause, cds::intrusive::single_link::node< cds::gc::HP >  ) \
11     TEST_CASE( Treiber_HP_exp, cds::intrusive::single_link::node< cds::gc::HP >    ) \
12     TEST_CASE( Treiber_HP_stat, cds::intrusive::single_link::node< cds::gc::HP >   ) \
13     TEST_CASE( Treiber_HRC, cds::intrusive::single_link::node< cds::gc::HRC >       ) \
14     /*TEST_CASE( Treiber_HRC_yield, cds::intrusive::single_link::node< cds::gc::HRC > )*/ \
15     TEST_CASE( Treiber_HRC_pause, cds::intrusive::single_link::node< cds::gc::HRC > ) \
16     TEST_CASE( Treiber_HRC_exp, cds::intrusive::single_link::node< cds::gc::HRC >   ) \
17     TEST_CASE( Treiber_HRC_stat, cds::intrusive::single_link::node< cds::gc::HRC >  ) \
18     TEST_CASE( Treiber_PTB, cds::intrusive::single_link::node< cds::gc::PTB >       ) \
19     /*TEST_CASE( Treiber_PTB_yield, cds::intrusive::single_link::node< cds::gc::PTB > )*/ \
20     TEST_CASE( Treiber_PTB_pause, cds::intrusive::single_link::node< cds::gc::PTB > ) \
21     TEST_CASE( Treiber_PTB_exp, cds::intrusive::single_link::node< cds::gc::PTB >   ) \
22     TEST_CASE( Treiber_PTB_stat, cds::intrusive::single_link::node< cds::gc::PTB >  )
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, cds::intrusive::single_link::node< cds::gc::HP >        ) \
44     TEST_ELIMINATION( Elimination_HP_2ms, cds::intrusive::single_link::node< cds::gc::HP >    ) \
45     TEST_ELIMINATION( Elimination_HP_2ms_stat, cds::intrusive::single_link::node< cds::gc::HP >) \
46     TEST_ELIMINATION( Elimination_HP_5ms, cds::intrusive::single_link::node< cds::gc::HP >    ) \
47     TEST_ELIMINATION( Elimination_HP_5ms_stat, cds::intrusive::single_link::node< cds::gc::HP >) \
48     TEST_ELIMINATION( Elimination_HP_10ms, cds::intrusive::single_link::node< cds::gc::HP >    ) \
49     TEST_ELIMINATION( Elimination_HP_10ms_stat, cds::intrusive::single_link::node< cds::gc::HP >) \
50     TEST_ELIMINATION( Elimination_HP_seqcst, cds::intrusive::single_link::node< cds::gc::HP > ) \
51     /*TEST_ELIMINATION( Elimination_HP_yield, cds::intrusive::single_link::node< cds::gc::HP >  )*/ \
52     TEST_ELIMINATION( Elimination_HP_pause, cds::intrusive::single_link::node< cds::gc::HP >  ) \
53     TEST_ELIMINATION( Elimination_HP_exp, cds::intrusive::single_link::node< cds::gc::HP >    ) \
54     TEST_ELIMINATION( Elimination_HP_stat, cds::intrusive::single_link::node< cds::gc::HP >   ) \
55     TEST_ELIMINATION( Elimination_HP_dyn, cds::intrusive::single_link::node< cds::gc::HP >    ) \
56     TEST_ELIMINATION( Elimination_HP_dyn_stat, cds::intrusive::single_link::node< cds::gc::HP >) \
57     TEST_ELIMINATION( Elimination_HRC, cds::intrusive::single_link::node< cds::gc::HRC >       ) \
58     /*TEST_ELIMINATION( Elimination_HRC_yield, cds::intrusive::single_link::node< cds::gc::HRC > )*/ \
59     TEST_ELIMINATION( Elimination_HRC_pause, cds::intrusive::single_link::node< cds::gc::HRC > ) \
60     TEST_ELIMINATION( Elimination_HRC_exp, cds::intrusive::single_link::node< cds::gc::HRC >   ) \
61     TEST_ELIMINATION( Elimination_HRC_stat, cds::intrusive::single_link::node< cds::gc::HRC >  ) \
62     TEST_ELIMINATION( Elimination_HRC_dyn, cds::intrusive::single_link::node< cds::gc::HRC >   ) \
63     TEST_ELIMINATION( Elimination_HRC_dyn_stat, cds::intrusive::single_link::node< cds::gc::HRC >) \
64     TEST_ELIMINATION( Elimination_PTB, cds::intrusive::single_link::node< cds::gc::PTB >       ) \
65     TEST_ELIMINATION( Elimination_PTB_2ms, cds::intrusive::single_link::node< cds::gc::PTB >    ) \
66     TEST_ELIMINATION( Elimination_PTB_2ms_stat, cds::intrusive::single_link::node< cds::gc::PTB >) \
67     TEST_ELIMINATION( Elimination_PTB_5ms, cds::intrusive::single_link::node< cds::gc::PTB >    ) \
68     TEST_ELIMINATION( Elimination_PTB_5ms_stat, cds::intrusive::single_link::node< cds::gc::PTB >) \
69     TEST_ELIMINATION( Elimination_PTB_10ms, cds::intrusive::single_link::node< cds::gc::PTB >    ) \
70     TEST_ELIMINATION( Elimination_PTB_10ms_stat, cds::intrusive::single_link::node< cds::gc::PTB >) \
71     /*TEST_ELIMINATION( Elimination_PTB_yield, cds::intrusive::single_link::node< cds::gc::PTB > )*/ \
72     TEST_ELIMINATION( Elimination_PTB_pause, cds::intrusive::single_link::node< cds::gc::PTB > ) \
73     TEST_ELIMINATION( Elimination_PTB_exp, cds::intrusive::single_link::node< cds::gc::PTB >   ) \
74     TEST_ELIMINATION( Elimination_PTB_stat, cds::intrusive::single_link::node< cds::gc::PTB >  ) \
75     TEST_ELIMINATION( Elimination_PTB_dyn, cds::intrusive::single_link::node< cds::gc::PTB >   ) \
76     TEST_ELIMINATION( Elimination_PTB_dyn_stat, cds::intrusive::single_link::node< cds::gc::PTB >)
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, cds::intrusive::michael_deque::node<cds::gc::HP>          ) \
116     TEST_BOUNDED( MichaelDequeL_HP_seqcst, cds::intrusive::michael_deque::node<cds::gc::HP>   ) \
117     TEST_BOUNDED( MichaelDequeL_HP_ic, cds::intrusive::michael_deque::node<cds::gc::HP>       ) \
118     TEST_BOUNDED( MichaelDequeL_HP_exp, cds::intrusive::michael_deque::node<cds::gc::HP>      ) \
119     TEST_BOUNDED( MichaelDequeL_HP_yield, cds::intrusive::michael_deque::node<cds::gc::HP>    ) \
120     TEST_BOUNDED( MichaelDequeL_HP_stat, cds::intrusive::michael_deque::node<cds::gc::HP>     ) \
121     TEST_BOUNDED( MichaelDequeL_PTB, cds::intrusive::michael_deque::node<cds::gc::PTB>         ) \
122     TEST_BOUNDED( MichaelDequeL_PTB_seqcst, cds::intrusive::michael_deque::node<cds::gc::PTB>  ) \
123     TEST_BOUNDED( MichaelDequeL_PTB_ic, cds::intrusive::michael_deque::node<cds::gc::PTB>      ) \
124     TEST_BOUNDED( MichaelDequeL_PTB_exp, cds::intrusive::michael_deque::node<cds::gc::PTB>     ) \
125     TEST_BOUNDED( MichaelDequeL_PTB_yield, cds::intrusive::michael_deque::node<cds::gc::PTB>   ) \
126     TEST_BOUNDED( MichaelDequeL_PTB_stat, cds::intrusive::michael_deque::node<cds::gc::PTB>    ) \
127     TEST_BOUNDED( MichaelDequeR_HP, cds::intrusive::michael_deque::node<cds::gc::HP>          ) \
128     TEST_BOUNDED( MichaelDequeR_HP_seqcst, cds::intrusive::michael_deque::node<cds::gc::HP>   ) \
129     TEST_BOUNDED( MichaelDequeR_HP_ic, cds::intrusive::michael_deque::node<cds::gc::HP>       ) \
130     TEST_BOUNDED( MichaelDequeR_HP_exp, cds::intrusive::michael_deque::node<cds::gc::HP>      ) \
131     TEST_BOUNDED( MichaelDequeR_HP_yield, cds::intrusive::michael_deque::node<cds::gc::HP>    ) \
132     TEST_BOUNDED( MichaelDequeR_HP_stat, cds::intrusive::michael_deque::node<cds::gc::HP>     ) \
133     TEST_BOUNDED( MichaelDequeR_PTB, cds::intrusive::michael_deque::node<cds::gc::PTB>         ) \
134     TEST_BOUNDED( MichaelDequeR_PTB_seqcst, cds::intrusive::michael_deque::node<cds::gc::PTB>  ) \
135     TEST_BOUNDED( MichaelDequeR_PTB_ic, cds::intrusive::michael_deque::node<cds::gc::PTB>      ) \
136     TEST_BOUNDED( MichaelDequeR_PTB_exp, cds::intrusive::michael_deque::node<cds::gc::PTB>     ) \
137     TEST_BOUNDED( MichaelDequeR_PTB_yield, cds::intrusive::michael_deque::node<cds::gc::PTB>   ) \
138     TEST_BOUNDED( MichaelDequeR_PTB_stat, cds::intrusive::michael_deque::node<cds::gc::PTB>    )
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_FCSTACK( FCStack_slist, boost::intrusive::slist_base_hook<> ) \
168     TEST_FCSTACK( FCStack_slist_stat, boost::intrusive::slist_base_hook<> ) \
169     TEST_FCSTACK( FCStack_slist_elimination, boost::intrusive::slist_base_hook<> ) \
170     TEST_FCSTACK( FCStack_slist_elimination_stat, boost::intrusive::slist_base_hook<> ) \
171     TEST_FCSTACK( FCStack_slist_mutex_stat, boost::intrusive::slist_base_hook<> ) \
172     TEST_FCSTACK( FCStack_slist_mutex_elimination, boost::intrusive::slist_base_hook<> ) \
173     TEST_FCSTACK( FCStack_slist_mutex_elimination_stat, boost::intrusive::slist_base_hook<> ) \
174     TEST_FCSTACK( FCStack_list, boost::intrusive::list_base_hook<> ) \
175     TEST_FCSTACK( FCStack_list_stat, boost::intrusive::list_base_hook<> ) \
176     TEST_FCSTACK( FCStack_list_elimination, boost::intrusive::list_base_hook<> ) \
177     TEST_FCSTACK( FCStack_list_elimination_stat, boost::intrusive::list_base_hook<> ) \
178     TEST_FCSTACK( FCStack_list_mutex_stat, boost::intrusive::list_base_hook<> ) \
179     TEST_FCSTACK( FCStack_list_mutex_elimination, boost::intrusive::list_base_hook<> ) \
180     TEST_FCSTACK( FCStack_list_mutex_elimination_stat, boost::intrusive::list_base_hook<> )
181
182 #define CDSUNIT_TEST_FCStack \
183     CPPUNIT_TEST( FCStack_slist ) \
184     CPPUNIT_TEST( FCStack_slist_stat ) \
185     CPPUNIT_TEST( FCStack_slist_elimination ) \
186     CPPUNIT_TEST( FCStack_slist_elimination_stat ) \
187     CPPUNIT_TEST( FCStack_slist_mutex_stat ) \
188     CPPUNIT_TEST( FCStack_slist_mutex_elimination ) \
189     CPPUNIT_TEST( FCStack_slist_mutex_elimination_stat ) \
190     CPPUNIT_TEST( FCStack_list ) \
191     CPPUNIT_TEST( FCStack_list_stat ) \
192     CPPUNIT_TEST( FCStack_list_elimination ) \
193     CPPUNIT_TEST( FCStack_list_elimination_stat ) \
194     CPPUNIT_TEST( FCStack_list_mutex_stat ) \
195     CPPUNIT_TEST( FCStack_list_mutex_elimination ) \
196     CPPUNIT_TEST( FCStack_list_mutex_elimination_stat )
197
198
199 #define CDSUNIT_DECLARE_StdStack \
200     TEST_STDSTACK( StdStack_Deque_Mutex  ) \
201     TEST_STDSTACK( StdStack_Deque_Spin   ) \
202     TEST_STDSTACK( StdStack_Vector_Mutex ) \
203     TEST_STDSTACK( StdStack_Vector_Spin  ) \
204     TEST_STDSTACK( StdStack_List_Mutex   ) \
205     TEST_STDSTACK( StdStack_List_Spin    )
206
207 #define CDSUNIT_TEST_StdStack \
208     CPPUNIT_TEST( StdStack_Deque_Mutex  ) \
209     CPPUNIT_TEST( StdStack_Deque_Spin   ) \
210     CPPUNIT_TEST( StdStack_Vector_Mutex ) \
211     CPPUNIT_TEST( StdStack_Vector_Spin  ) \
212     CPPUNIT_TEST( StdStack_List_Mutex   ) \
213     CPPUNIT_TEST( StdStack_List_Spin    )
214
215 #endif // #ifndef __CDSUNIT_INTRUSIVE_STACK_DEFS_H