3 #ifndef CDSUNIT_INTRUSIVE_STACK_DEFS_H
4 #define CDSUNIT_INTRUSIVE_STACK_DEFS_H
6 #define CDSUNIT_DECLARE_TreiberStack \
7 TEST_CASE( Treiber_HP, cds::intrusive::treiber_stack::node< cds::gc::HP > ) \
8 TEST_CASE( Treiber_HP_seqcst, cds::intrusive::treiber_stack::node< cds::gc::HP > ) \
9 /*TEST_CASE( Treiber_HP_yield, cds::intrusive::treiber_stack::node< cds::gc::HP > )*/ \
10 TEST_CASE( Treiber_HP_pause, cds::intrusive::treiber_stack::node< cds::gc::HP > ) \
11 TEST_CASE( Treiber_HP_exp, cds::intrusive::treiber_stack::node< cds::gc::HP > ) \
12 TEST_CASE( Treiber_HP_stat, cds::intrusive::treiber_stack::node< cds::gc::HP > ) \
13 TEST_CASE( Treiber_DHP, cds::intrusive::treiber_stack::node< cds::gc::DHP > ) \
14 /*TEST_CASE( Treiber_DHP_yield, cds::intrusive::treiber_stack::node< cds::gc::DHP > )*/ \
15 TEST_CASE( Treiber_DHP_pause, cds::intrusive::treiber_stack::node< cds::gc::DHP > ) \
16 TEST_CASE( Treiber_DHP_exp, cds::intrusive::treiber_stack::node< cds::gc::DHP > ) \
17 TEST_CASE( Treiber_DHP_stat, cds::intrusive::treiber_stack::node< cds::gc::DHP > )
19 #define CDSUNIT_TEST_TreiberStack \
20 CPPUNIT_TEST( Treiber_HP ) \
21 CPPUNIT_TEST( Treiber_HP_seqcst ) \
22 /*CPPUNIT_TEST( Treiber_HP_yield )*/ \
23 CPPUNIT_TEST( Treiber_HP_pause ) \
24 CPPUNIT_TEST( Treiber_HP_exp ) \
25 CPPUNIT_TEST( Treiber_HP_stat ) \
26 CPPUNIT_TEST( Treiber_DHP ) \
27 /*CPPUNIT_TEST( Treiber_DHP_yield )*/ \
28 CPPUNIT_TEST( Treiber_DHP_pause ) \
29 CPPUNIT_TEST( Treiber_DHP_exp ) \
30 CPPUNIT_TEST( Treiber_DHP_stat )
32 #define CDSUNIT_DECLARE_EliminationStack \
33 TEST_ELIMINATION( Elimination_HP, cds::intrusive::treiber_stack::node< cds::gc::HP > ) \
34 TEST_ELIMINATION( Elimination_HP_2ms, cds::intrusive::treiber_stack::node< cds::gc::HP > ) \
35 TEST_ELIMINATION( Elimination_HP_2ms_stat, cds::intrusive::treiber_stack::node< cds::gc::HP >) \
36 TEST_ELIMINATION( Elimination_HP_5ms, cds::intrusive::treiber_stack::node< cds::gc::HP > ) \
37 TEST_ELIMINATION( Elimination_HP_5ms_stat, cds::intrusive::treiber_stack::node< cds::gc::HP >) \
38 TEST_ELIMINATION( Elimination_HP_10ms, cds::intrusive::treiber_stack::node< cds::gc::HP > ) \
39 TEST_ELIMINATION( Elimination_HP_10ms_stat, cds::intrusive::treiber_stack::node< cds::gc::HP >) \
40 TEST_ELIMINATION( Elimination_HP_seqcst, cds::intrusive::treiber_stack::node< cds::gc::HP > ) \
41 /*TEST_ELIMINATION( Elimination_HP_yield, cds::intrusive::treiber_stack::node< cds::gc::HP > )*/ \
42 TEST_ELIMINATION( Elimination_HP_pause, cds::intrusive::treiber_stack::node< cds::gc::HP > ) \
43 TEST_ELIMINATION( Elimination_HP_exp, cds::intrusive::treiber_stack::node< cds::gc::HP > ) \
44 TEST_ELIMINATION( Elimination_HP_stat, cds::intrusive::treiber_stack::node< cds::gc::HP > ) \
45 TEST_ELIMINATION( Elimination_HP_dyn, cds::intrusive::treiber_stack::node< cds::gc::HP > ) \
46 TEST_ELIMINATION( Elimination_HP_dyn_stat, cds::intrusive::treiber_stack::node< cds::gc::HP >) \
47 TEST_ELIMINATION( Elimination_DHP, cds::intrusive::treiber_stack::node< cds::gc::DHP > ) \
48 TEST_ELIMINATION( Elimination_DHP_2ms, cds::intrusive::treiber_stack::node< cds::gc::DHP > ) \
49 TEST_ELIMINATION( Elimination_DHP_2ms_stat, cds::intrusive::treiber_stack::node< cds::gc::DHP >) \
50 TEST_ELIMINATION( Elimination_DHP_5ms, cds::intrusive::treiber_stack::node< cds::gc::DHP > ) \
51 TEST_ELIMINATION( Elimination_DHP_5ms_stat, cds::intrusive::treiber_stack::node< cds::gc::DHP >) \
52 TEST_ELIMINATION( Elimination_DHP_10ms, cds::intrusive::treiber_stack::node< cds::gc::DHP > ) \
53 TEST_ELIMINATION( Elimination_DHP_10ms_stat, cds::intrusive::treiber_stack::node< cds::gc::DHP >) \
54 TEST_ELIMINATION( Elimination_DHP_seqcst, cds::intrusive::treiber_stack::node< cds::gc::DHP > ) \
55 /*TEST_ELIMINATION( Elimination_DHP_yield, cds::intrusive::treiber_stack::node< cds::gc::DHP > )*/ \
56 TEST_ELIMINATION( Elimination_DHP_pause, cds::intrusive::treiber_stack::node< cds::gc::DHP > ) \
57 TEST_ELIMINATION( Elimination_DHP_exp, cds::intrusive::treiber_stack::node< cds::gc::DHP > ) \
58 TEST_ELIMINATION( Elimination_DHP_stat, cds::intrusive::treiber_stack::node< cds::gc::DHP > ) \
59 TEST_ELIMINATION( Elimination_DHP_dyn, cds::intrusive::treiber_stack::node< cds::gc::DHP > ) \
60 TEST_ELIMINATION( Elimination_DHP_dyn_stat, cds::intrusive::treiber_stack::node< cds::gc::DHP >)
62 #define CDSUNIT_TEST_EliminationStack \
63 CPPUNIT_TEST( Elimination_HP ) \
64 CPPUNIT_TEST( Elimination_HP_2ms ) \
65 CPPUNIT_TEST( Elimination_HP_2ms_stat) \
66 CPPUNIT_TEST( Elimination_HP_5ms ) \
67 CPPUNIT_TEST( Elimination_HP_5ms_stat) \
68 CPPUNIT_TEST( Elimination_HP_10ms ) \
69 CPPUNIT_TEST( Elimination_HP_10ms_stat) \
70 CPPUNIT_TEST( Elimination_HP_seqcst ) \
71 /*CPPUNIT_TEST( Elimination_HP_yield )*/ \
72 CPPUNIT_TEST( Elimination_HP_pause ) \
73 CPPUNIT_TEST( Elimination_HP_exp ) \
74 CPPUNIT_TEST( Elimination_HP_stat ) \
75 CPPUNIT_TEST( Elimination_HP_dyn ) \
76 CPPUNIT_TEST( Elimination_HP_dyn_stat) \
77 CPPUNIT_TEST( Elimination_DHP ) \
78 CPPUNIT_TEST( Elimination_DHP_seqcst ) \
79 CPPUNIT_TEST( Elimination_DHP_2ms ) \
80 CPPUNIT_TEST( Elimination_DHP_2ms_stat) \
81 CPPUNIT_TEST( Elimination_DHP_5ms ) \
82 CPPUNIT_TEST( Elimination_DHP_5ms_stat) \
83 CPPUNIT_TEST( Elimination_DHP_10ms ) \
84 CPPUNIT_TEST( Elimination_DHP_10ms_stat) \
85 /*CPPUNIT_TEST( Elimination_DHP_yield )*/ \
86 CPPUNIT_TEST( Elimination_DHP_pause ) \
87 CPPUNIT_TEST( Elimination_DHP_exp ) \
88 CPPUNIT_TEST( Elimination_DHP_stat ) \
89 CPPUNIT_TEST( Elimination_DHP_dyn ) \
90 CPPUNIT_TEST( Elimination_DHP_dyn_stat)
92 #define CDSUNIT_DECLARE_FCStack \
93 TEST_FCSTACK( FCStack_slist, boost::intrusive::slist_base_hook<> ) \
94 TEST_FCSTACK( FCStack_slist_stat, boost::intrusive::slist_base_hook<> ) \
95 TEST_FCSTACK( FCStack_slist_elimination, boost::intrusive::slist_base_hook<> ) \
96 TEST_FCSTACK( FCStack_slist_elimination_stat, boost::intrusive::slist_base_hook<> ) \
97 TEST_FCSTACK( FCStack_slist_mutex_stat, boost::intrusive::slist_base_hook<> ) \
98 TEST_FCSTACK( FCStack_slist_mutex_elimination, boost::intrusive::slist_base_hook<> ) \
99 TEST_FCSTACK( FCStack_slist_mutex_elimination_stat, boost::intrusive::slist_base_hook<> ) \
100 TEST_FCSTACK( FCStack_list, boost::intrusive::list_base_hook<> ) \
101 TEST_FCSTACK( FCStack_list_stat, boost::intrusive::list_base_hook<> ) \
102 TEST_FCSTACK( FCStack_list_elimination, boost::intrusive::list_base_hook<> ) \
103 TEST_FCSTACK( FCStack_list_elimination_stat, boost::intrusive::list_base_hook<> ) \
104 TEST_FCSTACK( FCStack_list_mutex_stat, boost::intrusive::list_base_hook<> ) \
105 TEST_FCSTACK( FCStack_list_mutex_elimination, boost::intrusive::list_base_hook<> ) \
106 TEST_FCSTACK( FCStack_list_mutex_elimination_stat, boost::intrusive::list_base_hook<> )
108 #define CDSUNIT_TEST_FCStack \
109 CPPUNIT_TEST( FCStack_slist ) \
110 CPPUNIT_TEST( FCStack_slist_stat ) \
111 CPPUNIT_TEST( FCStack_slist_elimination ) \
112 CPPUNIT_TEST( FCStack_slist_elimination_stat ) \
113 CPPUNIT_TEST( FCStack_slist_mutex_stat ) \
114 CPPUNIT_TEST( FCStack_slist_mutex_elimination ) \
115 CPPUNIT_TEST( FCStack_slist_mutex_elimination_stat ) \
116 CPPUNIT_TEST( FCStack_list ) \
117 CPPUNIT_TEST( FCStack_list_stat ) \
118 CPPUNIT_TEST( FCStack_list_elimination ) \
119 CPPUNIT_TEST( FCStack_list_elimination_stat ) \
120 CPPUNIT_TEST( FCStack_list_mutex_stat ) \
121 CPPUNIT_TEST( FCStack_list_mutex_elimination ) \
122 CPPUNIT_TEST( FCStack_list_mutex_elimination_stat )
125 #define CDSUNIT_DECLARE_StdStack \
126 TEST_STDSTACK( StdStack_Deque_Mutex ) \
127 TEST_STDSTACK( StdStack_Deque_Spin ) \
128 TEST_STDSTACK( StdStack_Vector_Mutex ) \
129 TEST_STDSTACK( StdStack_Vector_Spin ) \
130 TEST_STDSTACK( StdStack_List_Mutex ) \
131 TEST_STDSTACK( StdStack_List_Spin )
133 #define CDSUNIT_TEST_StdStack \
134 CPPUNIT_TEST( StdStack_Deque_Mutex ) \
135 CPPUNIT_TEST( StdStack_Deque_Spin ) \
136 CPPUNIT_TEST( StdStack_Vector_Mutex ) \
137 CPPUNIT_TEST( StdStack_Vector_Spin ) \
138 CPPUNIT_TEST( StdStack_List_Mutex ) \
139 CPPUNIT_TEST( StdStack_List_Spin )
141 #endif // #ifndef CDSUNIT_INTRUSIVE_STACK_DEFS_H