From ce907234b7e46dabdf37fcd0fb4e9f71a1541845 Mon Sep 17 00:00:00 2001 From: Peizhao Ou Date: Mon, 12 Mar 2018 16:33:59 -0700 Subject: [PATCH] Rewrites barrier driver --- test/stress/misc/barrier_driver.cpp | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/test/stress/misc/barrier_driver.cpp b/test/stress/misc/barrier_driver.cpp index e7878fdc..8dfc41dc 100644 --- a/test/stress/misc/barrier_driver.cpp +++ b/test/stress/misc/barrier_driver.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include using namespace std; @@ -14,7 +15,7 @@ namespace { typedef cds_others::SpinBarrier Barrier; -static size_t s_nBarrierThreadCount = 4; +static size_t s_nBarrierThreadCount = 2; static size_t s_nBarrierPassCount = 100000000; class BarrierTest : public cds_test::stress_fixture { @@ -28,14 +29,8 @@ protected: GetConfig(BarrierThreadCount); } - static void TearDownTestCase() { - if (count != s_nBarrierPassCount) { - cout << "Incorrect" << endl; - } - } - static void Thread() { - for (ullong i = 0; i < s_nBarrierPassCount; i++) { + for (size_t i = 0; i < s_nBarrierPassCount; i++) { if (barrier->wait()) { count++; } @@ -48,14 +43,16 @@ size_t BarrierTest::count; TEST_F(BarrierTest, Wait) { barrier = new Barrier(s_nBarrierThreadCount); - std::unique_ptr threads(new std::thread[s_nBarrierThreadCount]); + std::vector threads; for (size_t i = 0; i < s_nBarrierThreadCount; i++) { - threads[i] = std::thread(Thread); + threads.push_back(std::thread(Thread)); } for (size_t i = 0; i < s_nBarrierThreadCount; i++) { threads[i].join(); } + EXPECT_EQ(count, s_nBarrierPassCount); + delete barrier; } } // namespace -- 2.34.1