issue#11: cds: changed __CDS_ guard prefix to CDSLIB_ for all .h files
[libcds.git] / tests / unit / queue / intrusive_queue_defs.h
1 //$$CDS-header$$
2
3 #ifndef CDSUNIT_INTRUSIVE_QUEUE_DEFS_H
4 #define CDSUNIT_INTRUSIVE_QUEUE_DEFS_H
5
6 // MSQueue
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 > )
16
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)
26
27 // MoirQueue
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 > )
37
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)
47
48
49 // OptimisticQueue
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 > )
59
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)
69
70
71 // BasketQueue
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 > )
81
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)
91
92 // TsigasCycleQueue
93 #define CDSUNIT_DECLARE_TsigasCycleQueue \
94     TEST_BOUNDED(TsigasCycleQueue_dyn) \
95     TEST_BOUNDED(TsigasCycleQueue_dyn_ic)
96
97 #define CDSUNIT_TEST_TsigasCycleQueue \
98     CPPUNIT_TEST(TsigasCycleQueue_dyn) \
99     CPPUNIT_TEST(TsigasCycleQueue_dyn_ic)
100
101
102 // VyukovMPMCCycleQueue
103 #define CDSUNIT_DECLARE_VyukovMPMCCycleQueue \
104     TEST_BOUNDED(VyukovMPMCCycleQueue_dyn) \
105     TEST_BOUNDED(VyukovMPMCCycleQueue_dyn_ic)
106
107 #define CDSUNIT_TEST_VyukovMPMCCycleQueue \
108     CPPUNIT_TEST(VyukovMPMCCycleQueue_dyn) \
109     CPPUNIT_TEST(VyukovMPMCCycleQueue_dyn_ic)
110
111
112 // FCQueue
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<> )
119
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)
126
127 // SegmentedQueue
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 )
141
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 )
155
156
157 // BoostSList
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<> )
161
162 #define CDSUNIT_TEST_BoostSList \
163     CPPUNIT_TEST( BoostSList_mutex ) \
164     CPPUNIT_TEST( BoostSList_spin )
165
166 #endif // #ifndef CDSUNIT_INTRUSIVE_QUEUE_DEFS_H