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::single_link::node< cds::gc::HP > ) \
9 TEST_CASE(MSQueue_HP_ic, cds::intrusive::single_link::node< cds::gc::HP > ) \
10 TEST_CASE(MSQueue_HP_stat, cds::intrusive::single_link::node< cds::gc::HP > ) \
11 TEST_CASE(MSQueue_HP_seqcst, cds::intrusive::single_link::node< cds::gc::HP > ) \
12 TEST_CASE(MSQueue_HRC, cds::intrusive::single_link::node< cds::gc::HRC > ) \
13 TEST_CASE(MSQueue_HRC_ic, cds::intrusive::single_link::node< cds::gc::HRC > ) \
14 TEST_CASE(MSQueue_HRC_stat, cds::intrusive::single_link::node< cds::gc::HRC > ) \
15 TEST_CASE(MSQueue_HRC_seqcst, cds::intrusive::single_link::node< cds::gc::HRC > ) \
16 TEST_CASE(MSQueue_PTB, cds::intrusive::single_link::node< cds::gc::PTB > ) \
17 TEST_CASE(MSQueue_PTB_ic, cds::intrusive::single_link::node< cds::gc::PTB > ) \
18 TEST_CASE(MSQueue_PTB_stat, cds::intrusive::single_link::node< cds::gc::PTB > ) \
19 TEST_CASE(MSQueue_PTB_seqcst, cds::intrusive::single_link::node< cds::gc::PTB > )
21 #define CDSUNIT_TEST_MSQueue \
22 CPPUNIT_TEST(MSQueue_HP) \
23 CPPUNIT_TEST(MSQueue_HP_ic) \
24 CPPUNIT_TEST(MSQueue_HP_stat) \
25 CPPUNIT_TEST(MSQueue_HP_seqcst) \
26 /*CPPUNIT_TEST(MSQueue_HRC)*/ \
27 /*CPPUNIT_TEST(MSQueue_HRC_ic)*/ \
28 /*CPPUNIT_TEST(MSQueue_HRC_stat)*/ \
29 /*CPPUNIT_TEST(MSQueue_HRC_seqcst)*/ \
30 CPPUNIT_TEST(MSQueue_PTB) \
31 CPPUNIT_TEST(MSQueue_PTB_ic) \
32 CPPUNIT_TEST(MSQueue_PTB_stat) \
33 CPPUNIT_TEST(MSQueue_PTB_seqcst)
36 #define CDSUNIT_DECLARE_MoirQueue \
37 TEST_CASE(MoirQueue_HP, cds::intrusive::single_link::node< cds::gc::HP > ) \
38 TEST_CASE(MoirQueue_HP_ic, cds::intrusive::single_link::node< cds::gc::HP > ) \
39 TEST_CASE(MoirQueue_HP_stat, cds::intrusive::single_link::node< cds::gc::HP > ) \
40 TEST_CASE(MoirQueue_HP_seqcst, cds::intrusive::single_link::node< cds::gc::HP > ) \
41 TEST_CASE(MoirQueue_HRC, cds::intrusive::single_link::node< cds::gc::HRC > ) \
42 TEST_CASE(MoirQueue_HRC_ic, cds::intrusive::single_link::node< cds::gc::HRC > ) \
43 TEST_CASE(MoirQueue_HRC_stat, cds::intrusive::single_link::node< cds::gc::HRC > ) \
44 TEST_CASE(MoirQueue_HRC_seqcst, cds::intrusive::single_link::node< cds::gc::HRC > ) \
45 TEST_CASE(MoirQueue_PTB, cds::intrusive::single_link::node< cds::gc::PTB > ) \
46 TEST_CASE(MoirQueue_PTB_ic, cds::intrusive::single_link::node< cds::gc::PTB > ) \
47 TEST_CASE(MoirQueue_PTB_stat, cds::intrusive::single_link::node< cds::gc::PTB > ) \
48 TEST_CASE(MoirQueue_PTB_seqcst, cds::intrusive::single_link::node< cds::gc::PTB > )
50 #define CDSUNIT_TEST_MoirQueue \
51 CPPUNIT_TEST(MoirQueue_HP) \
52 CPPUNIT_TEST(MoirQueue_HP_ic) \
53 CPPUNIT_TEST(MoirQueue_HP_stat) \
54 CPPUNIT_TEST(MoirQueue_HP_seqcst) \
55 /*CPPUNIT_TEST(MoirQueue_HRC)*/ \
56 /*CPPUNIT_TEST(MoirQueue_HRC_ic)*/ \
57 /*CPPUNIT_TEST(MoirQueue_HRC_stat)*/ \
58 /*CPPUNIT_TEST(MoirQueue_HRC_seqcst)*/ \
59 CPPUNIT_TEST(MoirQueue_PTB) \
60 CPPUNIT_TEST(MoirQueue_PTB_ic) \
61 CPPUNIT_TEST(MoirQueue_PTB_stat) \
62 CPPUNIT_TEST(MoirQueue_PTB_seqcst)
66 #define CDSUNIT_DECLARE_OptimisticQueue \
67 TEST_CASE(OptimisticQueue_HP, cds::intrusive::optimistic_queue::node< cds::gc::HP > ) \
68 TEST_CASE(OptimisticQueue_HP_ic, cds::intrusive::optimistic_queue::node< cds::gc::HP > ) \
69 TEST_CASE(OptimisticQueue_HP_stat, cds::intrusive::optimistic_queue::node< cds::gc::HP > ) \
70 TEST_CASE(OptimisticQueue_HP_seqcst, cds::intrusive::optimistic_queue::node< cds::gc::HP > ) \
71 TEST_CASE(OptimisticQueue_PTB, cds::intrusive::optimistic_queue::node< cds::gc::PTB > ) \
72 TEST_CASE(OptimisticQueue_PTB_ic, cds::intrusive::optimistic_queue::node< cds::gc::PTB > ) \
73 TEST_CASE(OptimisticQueue_PTB_stat, cds::intrusive::optimistic_queue::node< cds::gc::PTB > ) \
74 TEST_CASE(OptimisticQueue_PTB_seqcst, cds::intrusive::optimistic_queue::node< cds::gc::PTB > )
76 #define CDSUNIT_TEST_OptimisticQueue \
77 CPPUNIT_TEST(OptimisticQueue_HP) \
78 CPPUNIT_TEST(OptimisticQueue_HP_ic) \
79 CPPUNIT_TEST(OptimisticQueue_HP_stat) \
80 CPPUNIT_TEST(OptimisticQueue_HP_seqcst) \
81 CPPUNIT_TEST(OptimisticQueue_PTB) \
82 CPPUNIT_TEST(OptimisticQueue_PTB_ic) \
83 CPPUNIT_TEST(OptimisticQueue_PTB_stat) \
84 CPPUNIT_TEST(OptimisticQueue_PTB_seqcst)
88 #define CDSUNIT_DECLARE_BasketQueue \
89 TEST_CASE(BasketQueue_HP, cds::intrusive::basket_queue::node< cds::gc::HP > ) \
90 TEST_CASE(BasketQueue_HP_ic, cds::intrusive::basket_queue::node< cds::gc::HP > ) \
91 TEST_CASE(BasketQueue_HP_stat, cds::intrusive::basket_queue::node< cds::gc::HP > ) \
92 TEST_CASE(BasketQueue_HP_seqcst, cds::intrusive::basket_queue::node< cds::gc::HP > ) \
93 TEST_CASE(BasketQueue_HRC, cds::intrusive::basket_queue::node< cds::gc::HRC > ) \
94 TEST_CASE(BasketQueue_HRC_ic, cds::intrusive::basket_queue::node< cds::gc::HRC > ) \
95 TEST_CASE(BasketQueue_HRC_stat, cds::intrusive::basket_queue::node< cds::gc::HRC > ) \
96 TEST_CASE(BasketQueue_HRC_seqcst, cds::intrusive::basket_queue::node< cds::gc::HRC > ) \
97 TEST_CASE(BasketQueue_PTB, cds::intrusive::basket_queue::node< cds::gc::PTB > ) \
98 TEST_CASE(BasketQueue_PTB_ic, cds::intrusive::basket_queue::node< cds::gc::PTB > ) \
99 TEST_CASE(BasketQueue_PTB_stat, cds::intrusive::basket_queue::node< cds::gc::PTB > ) \
100 TEST_CASE(BasketQueue_PTB_seqcst, cds::intrusive::basket_queue::node< cds::gc::PTB > )
102 #define CDSUNIT_TEST_BasketQueue \
103 CPPUNIT_TEST(BasketQueue_HP) \
104 CPPUNIT_TEST(BasketQueue_HP_ic) \
105 CPPUNIT_TEST(BasketQueue_HP_stat) \
106 CPPUNIT_TEST(BasketQueue_HP_seqcst) \
107 /*CPPUNIT_TEST(BasketQueue_HRC)*/ \
108 /*CPPUNIT_TEST(BasketQueue_HRC_ic)*/ \
109 /*CPPUNIT_TEST(BasketQueue_HRC_stat)*/ \
110 /*CPPUNIT_TEST(BasketQueue_HRC_seqcst)*/ \
111 CPPUNIT_TEST(BasketQueue_PTB) \
112 CPPUNIT_TEST(BasketQueue_PTB_ic) \
113 CPPUNIT_TEST(BasketQueue_PTB_stat) \
114 CPPUNIT_TEST(BasketQueue_PTB_seqcst)
117 #define CDSUNIT_DECLARE_TsigasCycleQueue \
118 TEST_BOUNDED(TsigasCycleQueue_dyn) \
119 TEST_BOUNDED(TsigasCycleQueue_dyn_ic)
121 #define CDSUNIT_TEST_TsigasCycleQueue \
122 CPPUNIT_TEST(TsigasCycleQueue_dyn) \
123 CPPUNIT_TEST(TsigasCycleQueue_dyn_ic)
126 // VyukovMPMCCycleQueue
127 #define CDSUNIT_DECLARE_VyukovMPMCCycleQueue \
128 TEST_BOUNDED(VyukovMPMCCycleQueue_dyn) \
129 TEST_BOUNDED(VyukovMPMCCycleQueue_dyn_ic)
131 #define CDSUNIT_TEST_VyukovMPMCCycleQueue \
132 CPPUNIT_TEST(VyukovMPMCCycleQueue_dyn) \
133 CPPUNIT_TEST(VyukovMPMCCycleQueue_dyn_ic)
137 #define CDSUNIT_DECLARE_FCQueue \
138 TEST_FCQUEUE(FCQueue_list_delay2, boost::intrusive::list_base_hook<> ) \
139 TEST_FCQUEUE(FCQueue_list_delay2_elimination, boost::intrusive::list_base_hook<> ) \
140 TEST_FCQUEUE(FCQueue_list_delay2_elimination_stat, boost::intrusive::list_base_hook<> ) \
141 TEST_FCQUEUE(FCQueue_list_expbackoff_elimination, boost::intrusive::list_base_hook<> ) \
142 TEST_FCQUEUE(FCQueue_list_expbackoff_elimination_stat, boost::intrusive::list_base_hook<> )
144 #define CDSUNIT_TEST_FCQueue \
145 CPPUNIT_TEST(FCQueue_list_delay2) \
146 CPPUNIT_TEST(FCQueue_list_delay2_elimination) \
147 CPPUNIT_TEST(FCQueue_list_delay2_elimination_stat) \
148 CPPUNIT_TEST(FCQueue_list_expbackoff_elimination) \
149 CPPUNIT_TEST(FCQueue_list_expbackoff_elimination_stat)
152 #define CDSUNIT_DECLARE_SegmentedQueue \
153 TEST_SEGMENTED( SegmentedQueue_HP_spin ) \
154 TEST_SEGMENTED( SegmentedQueue_HP_spin_stat ) \
155 TEST_SEGMENTED( SegmentedQueue_HP_mutex ) \
156 TEST_SEGMENTED( SegmentedQueue_HP_mutex_stat ) \
157 TEST_SEGMENTED( SegmentedQueue_PTB_spin ) \
158 TEST_SEGMENTED( SegmentedQueue_PTB_spin_stat ) \
159 TEST_SEGMENTED( SegmentedQueue_PTB_mutex ) \
160 TEST_SEGMENTED( SegmentedQueue_PTB_mutex_stat )
162 #define CDSUNIT_TEST_SegmentedQueue \
163 CPPUNIT_TEST( SegmentedQueue_HP_spin ) \
164 CPPUNIT_TEST( SegmentedQueue_HP_spin_stat ) \
165 CPPUNIT_TEST( SegmentedQueue_HP_mutex ) \
166 CPPUNIT_TEST( SegmentedQueue_HP_mutex_stat ) \
167 CPPUNIT_TEST( SegmentedQueue_PTB_spin ) \
168 CPPUNIT_TEST( SegmentedQueue_PTB_spin_stat ) \
169 CPPUNIT_TEST( SegmentedQueue_PTB_mutex ) \
170 CPPUNIT_TEST( SegmentedQueue_PTB_mutex_stat )
174 #define CDSUNIT_DECLARE_BoostSList \
175 TEST_BOOST( BoostSList_mutex, boost::intrusive::slist_base_hook<> ) \
176 TEST_BOOST( BoostSList_spin, boost::intrusive::slist_base_hook<> )
178 #define CDSUNIT_TEST_BoostSList \
179 CPPUNIT_TEST( BoostSList_mutex ) \
180 CPPUNIT_TEST( BoostSList_spin )
182 #endif // #ifndef __CDSUNIT_INTRUSIVE_QUEUE_DEFS_H