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_PTB, cds::intrusive::optimistic_queue::node< cds::gc::PTB > ) \
56 TEST_CASE(OptimisticQueue_PTB_ic, cds::intrusive::optimistic_queue::node< cds::gc::PTB > ) \
57 TEST_CASE(OptimisticQueue_PTB_stat, cds::intrusive::optimistic_queue::node< cds::gc::PTB > ) \
58 TEST_CASE(OptimisticQueue_PTB_seqcst, cds::intrusive::optimistic_queue::node< cds::gc::PTB > )
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_PTB) \
66 CPPUNIT_TEST(OptimisticQueue_PTB_ic) \
67 CPPUNIT_TEST(OptimisticQueue_PTB_stat) \
68 CPPUNIT_TEST(OptimisticQueue_PTB_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_HRC, cds::intrusive::basket_queue::node< cds::gc::HRC > ) \
78 TEST_CASE(BasketQueue_HRC_ic, cds::intrusive::basket_queue::node< cds::gc::HRC > ) \
79 TEST_CASE(BasketQueue_HRC_stat, cds::intrusive::basket_queue::node< cds::gc::HRC > ) \
80 TEST_CASE(BasketQueue_HRC_seqcst, cds::intrusive::basket_queue::node< cds::gc::HRC > ) \
81 TEST_CASE(BasketQueue_PTB, cds::intrusive::basket_queue::node< cds::gc::PTB > ) \
82 TEST_CASE(BasketQueue_PTB_ic, cds::intrusive::basket_queue::node< cds::gc::PTB > ) \
83 TEST_CASE(BasketQueue_PTB_stat, cds::intrusive::basket_queue::node< cds::gc::PTB > ) \
84 TEST_CASE(BasketQueue_PTB_seqcst, cds::intrusive::basket_queue::node< cds::gc::PTB > )
86 #define CDSUNIT_TEST_BasketQueue \
87 CPPUNIT_TEST(BasketQueue_HP) \
88 CPPUNIT_TEST(BasketQueue_HP_ic) \
89 CPPUNIT_TEST(BasketQueue_HP_stat) \
90 CPPUNIT_TEST(BasketQueue_HP_seqcst) \
91 /*CPPUNIT_TEST(BasketQueue_HRC)*/ \
92 /*CPPUNIT_TEST(BasketQueue_HRC_ic)*/ \
93 /*CPPUNIT_TEST(BasketQueue_HRC_stat)*/ \
94 /*CPPUNIT_TEST(BasketQueue_HRC_seqcst)*/ \
95 CPPUNIT_TEST(BasketQueue_PTB) \
96 CPPUNIT_TEST(BasketQueue_PTB_ic) \
97 CPPUNIT_TEST(BasketQueue_PTB_stat) \
98 CPPUNIT_TEST(BasketQueue_PTB_seqcst)
101 #define CDSUNIT_DECLARE_TsigasCycleQueue \
102 TEST_BOUNDED(TsigasCycleQueue_dyn) \
103 TEST_BOUNDED(TsigasCycleQueue_dyn_ic)
105 #define CDSUNIT_TEST_TsigasCycleQueue \
106 CPPUNIT_TEST(TsigasCycleQueue_dyn) \
107 CPPUNIT_TEST(TsigasCycleQueue_dyn_ic)
110 // VyukovMPMCCycleQueue
111 #define CDSUNIT_DECLARE_VyukovMPMCCycleQueue \
112 TEST_BOUNDED(VyukovMPMCCycleQueue_dyn) \
113 TEST_BOUNDED(VyukovMPMCCycleQueue_dyn_ic)
115 #define CDSUNIT_TEST_VyukovMPMCCycleQueue \
116 CPPUNIT_TEST(VyukovMPMCCycleQueue_dyn) \
117 CPPUNIT_TEST(VyukovMPMCCycleQueue_dyn_ic)
121 #define CDSUNIT_DECLARE_FCQueue \
122 TEST_FCQUEUE(FCQueue_list_delay2, boost::intrusive::list_base_hook<> ) \
123 TEST_FCQUEUE(FCQueue_list_delay2_elimination, boost::intrusive::list_base_hook<> ) \
124 TEST_FCQUEUE(FCQueue_list_delay2_elimination_stat, boost::intrusive::list_base_hook<> ) \
125 TEST_FCQUEUE(FCQueue_list_expbackoff_elimination, boost::intrusive::list_base_hook<> ) \
126 TEST_FCQUEUE(FCQueue_list_expbackoff_elimination_stat, boost::intrusive::list_base_hook<> )
128 #define CDSUNIT_TEST_FCQueue \
129 CPPUNIT_TEST(FCQueue_list_delay2) \
130 CPPUNIT_TEST(FCQueue_list_delay2_elimination) \
131 CPPUNIT_TEST(FCQueue_list_delay2_elimination_stat) \
132 CPPUNIT_TEST(FCQueue_list_expbackoff_elimination) \
133 CPPUNIT_TEST(FCQueue_list_expbackoff_elimination_stat)
136 #define CDSUNIT_DECLARE_SegmentedQueue \
137 TEST_SEGMENTED( SegmentedQueue_HP_spin ) \
138 TEST_SEGMENTED( SegmentedQueue_HP_spin_stat ) \
139 TEST_SEGMENTED( SegmentedQueue_HP_mutex ) \
140 TEST_SEGMENTED( SegmentedQueue_HP_mutex_stat ) \
141 TEST_SEGMENTED( SegmentedQueue_PTB_spin ) \
142 TEST_SEGMENTED( SegmentedQueue_PTB_spin_stat ) \
143 TEST_SEGMENTED( SegmentedQueue_PTB_mutex ) \
144 TEST_SEGMENTED( SegmentedQueue_PTB_mutex_stat )
146 #define CDSUNIT_TEST_SegmentedQueue \
147 CPPUNIT_TEST( SegmentedQueue_HP_spin ) \
148 CPPUNIT_TEST( SegmentedQueue_HP_spin_stat ) \
149 CPPUNIT_TEST( SegmentedQueue_HP_mutex ) \
150 CPPUNIT_TEST( SegmentedQueue_HP_mutex_stat ) \
151 CPPUNIT_TEST( SegmentedQueue_PTB_spin ) \
152 CPPUNIT_TEST( SegmentedQueue_PTB_spin_stat ) \
153 CPPUNIT_TEST( SegmentedQueue_PTB_mutex ) \
154 CPPUNIT_TEST( SegmentedQueue_PTB_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