3 #ifndef CDSUNIT_INTRUSIVE_QUEUE_DEFS_H
4 #define CDSUNIT_INTRUSIVE_QUEUE_DEFS_H
7 #define CDSUNIT_DECLARE_MSQueue \
8 TEST_CASE(MSQueue_HP, cds::intrusive::msqueue::node< cds::gc::HP > ) \
9 TEST_CASE(MSQueue_HP_ic, cds::intrusive::msqueue::node< cds::gc::HP > ) \
10 TEST_CASE(MSQueue_HP_stat, cds::intrusive::msqueue::node< cds::gc::HP > ) \
11 TEST_CASE(MSQueue_HP_seqcst, cds::intrusive::msqueue::node< cds::gc::HP > ) \
12 TEST_CASE(MSQueue_DHP, cds::intrusive::msqueue::node< cds::gc::DHP > ) \
13 TEST_CASE(MSQueue_DHP_ic, cds::intrusive::msqueue::node< cds::gc::DHP > ) \
14 TEST_CASE(MSQueue_DHP_stat, cds::intrusive::msqueue::node< cds::gc::DHP > ) \
15 TEST_CASE(MSQueue_DHP_seqcst, cds::intrusive::msqueue::node< cds::gc::DHP > )
17 #define CDSUNIT_TEST_MSQueue \
18 CPPUNIT_TEST(MSQueue_HP) \
19 CPPUNIT_TEST(MSQueue_HP_ic) \
20 CPPUNIT_TEST(MSQueue_HP_stat) \
21 CPPUNIT_TEST(MSQueue_HP_seqcst) \
22 CPPUNIT_TEST(MSQueue_DHP) \
23 CPPUNIT_TEST(MSQueue_DHP_ic) \
24 CPPUNIT_TEST(MSQueue_DHP_stat) \
25 CPPUNIT_TEST(MSQueue_DHP_seqcst)
28 #define CDSUNIT_DECLARE_MoirQueue \
29 TEST_CASE(MoirQueue_HP, cds::intrusive::msqueue::node< cds::gc::HP > ) \
30 TEST_CASE(MoirQueue_HP_ic, cds::intrusive::msqueue::node< cds::gc::HP > ) \
31 TEST_CASE(MoirQueue_HP_stat, cds::intrusive::msqueue::node< cds::gc::HP > ) \
32 TEST_CASE(MoirQueue_HP_seqcst, cds::intrusive::msqueue::node< cds::gc::HP > ) \
33 TEST_CASE(MoirQueue_DHP, cds::intrusive::msqueue::node< cds::gc::DHP > ) \
34 TEST_CASE(MoirQueue_DHP_ic, cds::intrusive::msqueue::node< cds::gc::DHP > ) \
35 TEST_CASE(MoirQueue_DHP_stat, cds::intrusive::msqueue::node< cds::gc::DHP > ) \
36 TEST_CASE(MoirQueue_DHP_seqcst, cds::intrusive::msqueue::node< cds::gc::DHP > )
38 #define CDSUNIT_TEST_MoirQueue \
39 CPPUNIT_TEST(MoirQueue_HP) \
40 CPPUNIT_TEST(MoirQueue_HP_ic) \
41 CPPUNIT_TEST(MoirQueue_HP_stat) \
42 CPPUNIT_TEST(MoirQueue_HP_seqcst) \
43 CPPUNIT_TEST(MoirQueue_DHP) \
44 CPPUNIT_TEST(MoirQueue_DHP_ic) \
45 CPPUNIT_TEST(MoirQueue_DHP_stat) \
46 CPPUNIT_TEST(MoirQueue_DHP_seqcst)
50 #define CDSUNIT_DECLARE_OptimisticQueue \
51 TEST_CASE(OptimisticQueue_HP, cds::intrusive::optimistic_queue::node< cds::gc::HP > ) \
52 TEST_CASE(OptimisticQueue_HP_ic, cds::intrusive::optimistic_queue::node< cds::gc::HP > ) \
53 TEST_CASE(OptimisticQueue_HP_stat, cds::intrusive::optimistic_queue::node< cds::gc::HP > ) \
54 TEST_CASE(OptimisticQueue_HP_seqcst, cds::intrusive::optimistic_queue::node< cds::gc::HP > ) \
55 TEST_CASE(OptimisticQueue_DHP, cds::intrusive::optimistic_queue::node< cds::gc::DHP > ) \
56 TEST_CASE(OptimisticQueue_DHP_ic, cds::intrusive::optimistic_queue::node< cds::gc::DHP > ) \
57 TEST_CASE(OptimisticQueue_DHP_stat, cds::intrusive::optimistic_queue::node< cds::gc::DHP > ) \
58 TEST_CASE(OptimisticQueue_DHP_seqcst, cds::intrusive::optimistic_queue::node< cds::gc::DHP > )
60 #define CDSUNIT_TEST_OptimisticQueue \
61 CPPUNIT_TEST(OptimisticQueue_HP) \
62 CPPUNIT_TEST(OptimisticQueue_HP_ic) \
63 CPPUNIT_TEST(OptimisticQueue_HP_stat) \
64 CPPUNIT_TEST(OptimisticQueue_HP_seqcst) \
65 CPPUNIT_TEST(OptimisticQueue_DHP) \
66 CPPUNIT_TEST(OptimisticQueue_DHP_ic) \
67 CPPUNIT_TEST(OptimisticQueue_DHP_stat) \
68 CPPUNIT_TEST(OptimisticQueue_DHP_seqcst)
72 #define CDSUNIT_DECLARE_BasketQueue \
73 TEST_CASE(BasketQueue_HP, cds::intrusive::basket_queue::node< cds::gc::HP > ) \
74 TEST_CASE(BasketQueue_HP_ic, cds::intrusive::basket_queue::node< cds::gc::HP > ) \
75 TEST_CASE(BasketQueue_HP_stat, cds::intrusive::basket_queue::node< cds::gc::HP > ) \
76 TEST_CASE(BasketQueue_HP_seqcst, cds::intrusive::basket_queue::node< cds::gc::HP > ) \
77 TEST_CASE(BasketQueue_DHP, cds::intrusive::basket_queue::node< cds::gc::DHP > ) \
78 TEST_CASE(BasketQueue_DHP_ic, cds::intrusive::basket_queue::node< cds::gc::DHP > ) \
79 TEST_CASE(BasketQueue_DHP_stat, cds::intrusive::basket_queue::node< cds::gc::DHP > ) \
80 TEST_CASE(BasketQueue_DHP_seqcst, cds::intrusive::basket_queue::node< cds::gc::DHP > )
82 #define CDSUNIT_TEST_BasketQueue \
83 CPPUNIT_TEST(BasketQueue_HP) \
84 CPPUNIT_TEST(BasketQueue_HP_ic) \
85 CPPUNIT_TEST(BasketQueue_HP_stat) \
86 CPPUNIT_TEST(BasketQueue_HP_seqcst) \
87 CPPUNIT_TEST(BasketQueue_DHP) \
88 CPPUNIT_TEST(BasketQueue_DHP_ic) \
89 CPPUNIT_TEST(BasketQueue_DHP_stat) \
90 CPPUNIT_TEST(BasketQueue_DHP_seqcst)
93 #define CDSUNIT_DECLARE_TsigasCycleQueue \
94 TEST_BOUNDED(TsigasCycleQueue_dyn) \
95 TEST_BOUNDED(TsigasCycleQueue_dyn_ic)
97 #define CDSUNIT_TEST_TsigasCycleQueue \
98 CPPUNIT_TEST(TsigasCycleQueue_dyn) \
99 CPPUNIT_TEST(TsigasCycleQueue_dyn_ic)
102 // VyukovMPMCCycleQueue
103 #define CDSUNIT_DECLARE_VyukovMPMCCycleQueue \
104 TEST_BOUNDED(VyukovMPMCCycleQueue_dyn) \
105 TEST_BOUNDED(VyukovMPMCCycleQueue_dyn_ic)
107 #define CDSUNIT_TEST_VyukovMPMCCycleQueue \
108 CPPUNIT_TEST(VyukovMPMCCycleQueue_dyn) \
109 CPPUNIT_TEST(VyukovMPMCCycleQueue_dyn_ic)
113 #define CDSUNIT_DECLARE_FCQueue \
114 TEST_FCQUEUE(FCQueue_list_delay2, boost::intrusive::list_base_hook<> ) \
115 TEST_FCQUEUE(FCQueue_list_delay2_elimination, boost::intrusive::list_base_hook<> ) \
116 TEST_FCQUEUE(FCQueue_list_delay2_elimination_stat, boost::intrusive::list_base_hook<> ) \
117 TEST_FCQUEUE(FCQueue_list_expbackoff_elimination, boost::intrusive::list_base_hook<> ) \
118 TEST_FCQUEUE(FCQueue_list_expbackoff_elimination_stat, boost::intrusive::list_base_hook<> )
120 #define CDSUNIT_TEST_FCQueue \
121 CPPUNIT_TEST(FCQueue_list_delay2) \
122 CPPUNIT_TEST(FCQueue_list_delay2_elimination) \
123 CPPUNIT_TEST(FCQueue_list_delay2_elimination_stat) \
124 CPPUNIT_TEST(FCQueue_list_expbackoff_elimination) \
125 CPPUNIT_TEST(FCQueue_list_expbackoff_elimination_stat)
128 #define CDSUNIT_DECLARE_SegmentedQueue \
129 TEST_SEGMENTED( SegmentedQueue_HP_spin ) \
130 TEST_SEGMENTED( SegmentedQueue_HP_spin_padding ) \
131 TEST_SEGMENTED( SegmentedQueue_HP_spin_stat ) \
132 TEST_SEGMENTED( SegmentedQueue_HP_mutex ) \
133 TEST_SEGMENTED( SegmentedQueue_HP_mutex_padding ) \
134 TEST_SEGMENTED( SegmentedQueue_HP_mutex_stat ) \
135 TEST_SEGMENTED( SegmentedQueue_DHP_spin ) \
136 TEST_SEGMENTED( SegmentedQueue_DHP_spin_padding ) \
137 TEST_SEGMENTED( SegmentedQueue_DHP_spin_stat ) \
138 TEST_SEGMENTED( SegmentedQueue_DHP_mutex ) \
139 TEST_SEGMENTED( SegmentedQueue_DHP_mutex_padding ) \
140 TEST_SEGMENTED( SegmentedQueue_DHP_mutex_stat )
142 #define CDSUNIT_TEST_SegmentedQueue \
143 CPPUNIT_TEST( SegmentedQueue_HP_spin ) \
144 CPPUNIT_TEST( SegmentedQueue_HP_spin_padding ) \
145 CPPUNIT_TEST( SegmentedQueue_HP_spin_stat ) \
146 CPPUNIT_TEST( SegmentedQueue_HP_mutex ) \
147 CPPUNIT_TEST( SegmentedQueue_HP_mutex_padding ) \
148 CPPUNIT_TEST( SegmentedQueue_HP_mutex_stat ) \
149 CPPUNIT_TEST( SegmentedQueue_DHP_spin ) \
150 CPPUNIT_TEST( SegmentedQueue_DHP_spin_padding ) \
151 CPPUNIT_TEST( SegmentedQueue_DHP_spin_stat ) \
152 CPPUNIT_TEST( SegmentedQueue_DHP_mutex ) \
153 CPPUNIT_TEST( SegmentedQueue_DHP_mutex_padding ) \
154 CPPUNIT_TEST( SegmentedQueue_DHP_mutex_stat )
158 #define CDSUNIT_DECLARE_BoostSList \
159 TEST_BOOST( BoostSList_mutex, boost::intrusive::slist_base_hook<> ) \
160 TEST_BOOST( BoostSList_spin, boost::intrusive::slist_base_hook<> )
162 #define CDSUNIT_TEST_BoostSList \
163 CPPUNIT_TEST( BoostSList_mutex ) \
164 CPPUNIT_TEST( BoostSList_spin )
166 #endif // #ifndef CDSUNIT_INTRUSIVE_QUEUE_DEFS_H