From: Peizhao Ou Date: Tue, 13 Mar 2018 00:16:54 +0000 (-0700) Subject: Adds sequential barrier driver X-Git-Url: http://plrg.eecs.uci.edu/git/?p=libcds.git;a=commitdiff_plain;h=e28f9419df082f58c24afa47c8202551e38be002 Adds sequential barrier driver --- 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