3 #include "hdr_treiber_stack.h"
5 #include <cds/container/treiber_stack.h>
9 #define TEST(X) void TestStack::X() { test<defs::X>(); }
10 namespace cs = cds::container;
12 namespace defs { namespace {
14 typedef cs::TreiberStack< cds::gc::HP, int > Treiber_HP;
15 typedef cs::TreiberStack< cds::gc::HP, int
16 , typename cs::treiber_stack::make_traits<
17 cds::opt::memory_model<cds::opt::v::relaxed_ordering>
21 typedef cs::TreiberStack< cds::gc::HP, int
22 , typename cs::treiber_stack::make_traits<
23 cds::opt::back_off< cds::backoff::yield>
27 typedef cs::TreiberStack< cds::gc::HP, int
28 , typename cs::treiber_stack::make_traits<
29 cds::opt::back_off< cds::backoff::yield>
30 , cds::opt::memory_model<cds::opt::v::relaxed_ordering>
32 > Treiber_HP_yield_relaxed;
34 typedef cs::TreiberStack< cds::gc::HP, int
35 , typename cs::treiber_stack::make_traits<
36 cds::opt::back_off< cds::backoff::pause>
37 ,cds::opt::allocator< std::allocator< bool * > >
39 > Treiber_HP_pause_alloc;
41 typedef cs::TreiberStack< cds::gc::HP, int
42 , typename cs::treiber_stack::make_traits<
43 cds::opt::back_off< cds::backoff::pause>
44 ,cds::opt::memory_model<cds::opt::v::relaxed_ordering>
45 ,cds::opt::allocator< std::allocator< unsigned long > >
47 > Treiber_HP_pause_alloc_relaxed;
51 TEST(Treiber_HP_yield)
52 TEST(Treiber_HP_pause_alloc)
54 TEST(Treiber_HP_relaxed)
55 TEST(Treiber_HP_yield_relaxed)
56 TEST(Treiber_HP_pause_alloc_relaxed)
58 CPPUNIT_TEST_SUITE_REGISTRATION(stack::TestStack);