-TEST(Baton, try_wait_single_poster_blocking) {
- run_try_wait_tests<std::atomic, true, true>();
- run_try_wait_tests<EmulatedFutexAtomic, true, true>();
- run_try_wait_tests<DeterministicAtomic, true, true>();
-}
-
-TEST(Baton, try_wait_single_poster_nonblocking) {
- run_try_wait_tests<std::atomic, true, false>();
- run_try_wait_tests<EmulatedFutexAtomic, true, false>();
- run_try_wait_tests<DeterministicAtomic, true, false>();
-}
-
-TEST(Baton, try_wait_multi_poster_blocking) {
- run_try_wait_tests<std::atomic, false, true>();
- run_try_wait_tests<EmulatedFutexAtomic, false, true>();
- run_try_wait_tests<DeterministicAtomic, false, true>();
-}
-
-TEST(Baton, try_wait_multi_poster_nonblocking) {
- run_try_wait_tests<std::atomic, false, false>();
- run_try_wait_tests<EmulatedFutexAtomic, false, false>();
- run_try_wait_tests<DeterministicAtomic, false, false>();
-}
-
-/// Multi-producer tests
-
-TEST(Baton, multi_producer_single_poster_blocking) {
- run_try_wait_tests<std::atomic, true, true>();
- run_try_wait_tests<EmulatedFutexAtomic, true, true>();
- run_try_wait_tests<DeterministicAtomic, true, true>();
-}
-
-TEST(Baton, multi_producer_single_poster_nonblocking) {
- run_try_wait_tests<std::atomic, true, false>();
- run_try_wait_tests<EmulatedFutexAtomic, true, false>();
- run_try_wait_tests<DeterministicAtomic, true, false>();
-}
-
-TEST(Baton, multi_producer_multi_poster_blocking) {
- run_try_wait_tests<std::atomic, false, true>();
- run_try_wait_tests<EmulatedFutexAtomic, false, true>();
- run_try_wait_tests<DeterministicAtomic, false, true>();