proxygen
BatonTest.cpp File Reference

Go to the source code of this file.

Functions

 TEST (Baton, basic_blocking)
 Basic test. More...
 
 TEST (Baton, basic_nonblocking)
 
 TEST (Baton, pingpong_blocking)
 Ping pong tests. More...
 
 TEST (Baton, pingpong_nonblocking)
 
 TEST (Baton, timed_wait_basic_system_clock_blocking)
 
 TEST (Baton, timed_wait_basic_system_clock_nonblocking)
 
 TEST (Baton, timed_wait_timeout_system_clock_blocking)
 
 TEST (Baton, timed_wait_timeout_system_clock_nonblocking)
 
 TEST (Baton, timed_wait_system_clock_blocking)
 
 TEST (Baton, timed_wait_system_clock_nonblocking)
 
 TEST (Baton, timed_wait_basic_steady_clock_blocking)
 
 TEST (Baton, timed_wait_basic_steady_clock_nonblocking)
 
 TEST (Baton, timed_wait_timeout_steady_clock_blocking)
 
 TEST (Baton, timed_wait_timeout_steady_clock_nonblocking)
 
 TEST (Baton, timed_wait_steady_clock_blocking)
 
 TEST (Baton, timed_wait_steady_clock_nonblocking)
 
 TEST (Baton, try_wait_blocking)
 Try wait tests. More...
 
 TEST (Baton, try_wait_nonblocking)
 

Function Documentation

TEST ( Baton  ,
basic_blocking   
)

Basic test.

Definition at line 33 of file BatonTest.cpp.

33  {
34  run_basic_test<true, std::atomic>();
35  run_basic_test<true, EmulatedFutexAtomic>();
36  run_basic_test<true, DeterministicAtomic>();
37 }
TEST ( Baton  ,
basic_nonblocking   
)

Definition at line 39 of file BatonTest.cpp.

39  {
40  run_basic_test<false, std::atomic>();
41  run_basic_test<false, EmulatedFutexAtomic>();
42  run_basic_test<false, DeterministicAtomic>();
43 }
TEST ( Baton  ,
pingpong_blocking   
)

Ping pong tests.

Definition at line 47 of file BatonTest.cpp.

References folly::test::DeterministicSchedule::uniform().

47  {
48  DSched sched(DSched::uniform(0));
49 
50  run_pingpong_test<true, DeterministicAtomic>(1000);
51 }
static std::function< size_t(size_t)> uniform(uint64_t seed)
TEST ( Baton  ,
pingpong_nonblocking   
)

Definition at line 53 of file BatonTest.cpp.

References folly::test::DeterministicSchedule::uniform().

53  {
54  DSched sched(DSched::uniform(0));
55 
56  run_pingpong_test<false, DeterministicAtomic>(1000);
57 }
static std::function< size_t(size_t)> uniform(uint64_t seed)
TEST ( Baton  ,
timed_wait_basic_system_clock_blocking   
)

Definition at line 61 of file BatonTest.cpp.

61  {
62  run_basic_timed_wait_tests<true, std::atomic, system_clock>();
63  run_basic_timed_wait_tests<true, EmulatedFutexAtomic, system_clock>();
64  run_basic_timed_wait_tests<true, DeterministicAtomic, system_clock>();
65 }
TEST ( Baton  ,
timed_wait_basic_system_clock_nonblocking   
)

Definition at line 67 of file BatonTest.cpp.

67  {
68  run_basic_timed_wait_tests<false, std::atomic, system_clock>();
69  run_basic_timed_wait_tests<false, EmulatedFutexAtomic, system_clock>();
70  run_basic_timed_wait_tests<false, DeterministicAtomic, system_clock>();
71 }
TEST ( Baton  ,
timed_wait_timeout_system_clock_blocking   
)

Definition at line 75 of file BatonTest.cpp.

References folly::test::DeterministicSchedule::uniform().

75  {
76  DSched sched(DSched::uniform(0));
77  run_timed_wait_tmo_tests<true, std::atomic, system_clock>();
78  run_timed_wait_tmo_tests<true, EmulatedFutexAtomic, system_clock>();
79  run_timed_wait_tmo_tests<true, DeterministicAtomic, system_clock>();
80 }
static std::function< size_t(size_t)> uniform(uint64_t seed)
TEST ( Baton  ,
timed_wait_timeout_system_clock_nonblocking   
)

Definition at line 82 of file BatonTest.cpp.

References folly::test::DeterministicSchedule::uniform().

82  {
83  DSched sched(DSched::uniform(0));
84  run_timed_wait_tmo_tests<false, std::atomic, system_clock>();
85  run_timed_wait_tmo_tests<false, EmulatedFutexAtomic, system_clock>();
86  run_timed_wait_tmo_tests<false, DeterministicAtomic, system_clock>();
87 }
static std::function< size_t(size_t)> uniform(uint64_t seed)
TEST ( Baton  ,
timed_wait_system_clock_blocking   
)

Definition at line 91 of file BatonTest.cpp.

References folly::test::DeterministicSchedule::uniform().

91  {
92  DSched sched(DSched::uniform(0));
93  run_timed_wait_regular_test<true, std::atomic, system_clock>();
94  run_timed_wait_regular_test<true, EmulatedFutexAtomic, system_clock>();
95  run_timed_wait_regular_test<true, DeterministicAtomic, system_clock>();
96 }
static std::function< size_t(size_t)> uniform(uint64_t seed)
TEST ( Baton  ,
timed_wait_system_clock_nonblocking   
)

Definition at line 98 of file BatonTest.cpp.

References folly::test::DeterministicSchedule::uniform().

98  {
99  DSched sched(DSched::uniform(0));
100  run_timed_wait_regular_test<false, std::atomic, system_clock>();
101  run_timed_wait_regular_test<false, EmulatedFutexAtomic, system_clock>();
102  run_timed_wait_regular_test<false, DeterministicAtomic, system_clock>();
103 }
static std::function< size_t(size_t)> uniform(uint64_t seed)
TEST ( Baton  ,
timed_wait_basic_steady_clock_blocking   
)

Definition at line 107 of file BatonTest.cpp.

References folly::test::DeterministicSchedule::uniform().

107  {
108  DSched sched(DSched::uniform(0));
109  run_basic_timed_wait_tests<true, std::atomic, steady_clock>();
110  run_basic_timed_wait_tests<true, EmulatedFutexAtomic, steady_clock>();
111  run_basic_timed_wait_tests<true, DeterministicAtomic, steady_clock>();
112 }
static std::function< size_t(size_t)> uniform(uint64_t seed)
TEST ( Baton  ,
timed_wait_basic_steady_clock_nonblocking   
)

Definition at line 114 of file BatonTest.cpp.

References folly::test::DeterministicSchedule::uniform().

114  {
115  DSched sched(DSched::uniform(0));
116  run_basic_timed_wait_tests<false, std::atomic, steady_clock>();
117  run_basic_timed_wait_tests<false, EmulatedFutexAtomic, steady_clock>();
118  run_basic_timed_wait_tests<false, DeterministicAtomic, steady_clock>();
119 }
static std::function< size_t(size_t)> uniform(uint64_t seed)
TEST ( Baton  ,
timed_wait_timeout_steady_clock_blocking   
)

Definition at line 123 of file BatonTest.cpp.

References folly::test::DeterministicSchedule::uniform().

123  {
124  DSched sched(DSched::uniform(0));
125  run_timed_wait_tmo_tests<true, std::atomic, steady_clock>();
126  run_timed_wait_tmo_tests<true, EmulatedFutexAtomic, steady_clock>();
127  run_timed_wait_tmo_tests<true, DeterministicAtomic, steady_clock>();
128 }
static std::function< size_t(size_t)> uniform(uint64_t seed)
TEST ( Baton  ,
timed_wait_timeout_steady_clock_nonblocking   
)

Definition at line 130 of file BatonTest.cpp.

References folly::test::DeterministicSchedule::uniform().

130  {
131  DSched sched(DSched::uniform(0));
132  run_timed_wait_tmo_tests<false, std::atomic, steady_clock>();
133  run_timed_wait_tmo_tests<false, EmulatedFutexAtomic, steady_clock>();
134  run_timed_wait_tmo_tests<false, DeterministicAtomic, steady_clock>();
135 }
static std::function< size_t(size_t)> uniform(uint64_t seed)
TEST ( Baton  ,
timed_wait_steady_clock_blocking   
)

Definition at line 139 of file BatonTest.cpp.

References folly::test::DeterministicSchedule::uniform().

139  {
140  DSched sched(DSched::uniform(0));
141  run_timed_wait_regular_test<true, std::atomic, steady_clock>();
142  run_timed_wait_regular_test<true, EmulatedFutexAtomic, steady_clock>();
143  run_timed_wait_regular_test<true, DeterministicAtomic, steady_clock>();
144 }
static std::function< size_t(size_t)> uniform(uint64_t seed)
TEST ( Baton  ,
timed_wait_steady_clock_nonblocking   
)

Definition at line 146 of file BatonTest.cpp.

References folly::test::DeterministicSchedule::uniform().

146  {
147  DSched sched(DSched::uniform(0));
148  run_timed_wait_regular_test<false, std::atomic, steady_clock>();
149  run_timed_wait_regular_test<false, EmulatedFutexAtomic, steady_clock>();
150  run_timed_wait_regular_test<false, DeterministicAtomic, steady_clock>();
151 }
static std::function< size_t(size_t)> uniform(uint64_t seed)
TEST ( Baton  ,
try_wait_blocking   
)

Try wait tests.

Definition at line 155 of file BatonTest.cpp.

155  {
156  run_try_wait_tests<true, std::atomic>();
157  run_try_wait_tests<true, EmulatedFutexAtomic>();
158  run_try_wait_tests<true, DeterministicAtomic>();
159 }
TEST ( Baton  ,
try_wait_nonblocking   
)

Definition at line 161 of file BatonTest.cpp.

161  {
162  run_try_wait_tests<false, std::atomic>();
163  run_try_wait_tests<false, EmulatedFutexAtomic>();
164  run_try_wait_tests<false, DeterministicAtomic>();
165 }