From e28f9419df082f58c24afa47c8202551e38be002 Mon Sep 17 00:00:00 2001 From: Peizhao Ou Date: Mon, 12 Mar 2018 17:16:54 -0700 Subject: [PATCH 1/1] Adds sequential barrier driver --- .../sequential-misc/barrier_driver.cpp | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 test/stress/sequential/sequential-misc/barrier_driver.cpp diff --git a/test/stress/sequential/sequential-misc/barrier_driver.cpp b/test/stress/sequential/sequential-misc/barrier_driver.cpp new file mode 100644 index 00000000..4aa802d7 --- /dev/null +++ b/test/stress/sequential/sequential-misc/barrier_driver.cpp @@ -0,0 +1,43 @@ +#include "common.h" +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace std; + +namespace { + +typedef cds_others::SpinBarrier Barrier; + +static size_t s_nBarrierThreadCount = 2; +static size_t s_nBarrierPassCount = 1; + +class BarrierTest : public cds_test::stress_fixture { +protected: + static size_t count; + + static void SetUpTestCase() { + cds_test::config const &cfg = get_config("SequentialMisc"); + GetConfig(BarrierPassCount); + GetConfig(BarrierThreadCount); + } +}; + +size_t BarrierTest::count; + +TEST_F(BarrierTest, Wait) { + std::unique_ptr barrier(new Barrier(1)); + for (size_t i = 0; i < s_nBarrierPassCount; i++) { + if (barrier->wait()) { + count++; + } + } + EXPECT_EQ(count, s_nBarrierPassCount); +} + +} // namespace -- 2.34.1