From fb733929d8c965e68cedc2dfe14b332c57c5aa32 Mon Sep 17 00:00:00 2001 From: Sebastian Messmer Date: Tue, 24 Nov 2015 14:39:32 +0100 Subject: [PATCH] Code is compatible with gcc 4.8 --- implementations/caching/cache/Cache.h | 1 + .../caching/cache/CacheTest_RaceCondition.cpp | 4 ++-- test/testutils/BlockStoreTest_Data.h | 23 +++++++++++-------- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/implementations/caching/cache/Cache.h b/implementations/caching/cache/Cache.h index 0c06b73c..268dd42e 100644 --- a/implementations/caching/cache/Cache.h +++ b/implementations/caching/cache/Cache.h @@ -10,6 +10,7 @@ #include #include #include +#include namespace blockstore { namespace caching { diff --git a/test/implementations/caching/cache/CacheTest_RaceCondition.cpp b/test/implementations/caching/cache/CacheTest_RaceCondition.cpp index bf0d8807..329f6d22 100644 --- a/test/implementations/caching/cache/CacheTest_RaceCondition.cpp +++ b/test/implementations/caching/cache/CacheTest_RaceCondition.cpp @@ -5,8 +5,8 @@ #include #include -using namespace std::chrono_literals; using namespace blockstore::caching; +using std::chrono::seconds; using std::string; using cpputils::ConditionBarrier; using std::unique_ptr; @@ -24,7 +24,7 @@ public: : _onDestructorStarted(onDestructorStarted), _destructorFinished(destructorFinished) {} ~ObjectWithLongDestructor() { _onDestructorStarted->release(); - std::this_thread::sleep_for(1s); + std::this_thread::sleep_for(seconds(1)); *_destructorFinished = true; } private: diff --git a/test/testutils/BlockStoreTest_Data.h b/test/testutils/BlockStoreTest_Data.h index 63ef3a6a..be0e4f1f 100644 --- a/test/testutils/BlockStoreTest_Data.h +++ b/test/testutils/BlockStoreTest_Data.h @@ -79,19 +79,22 @@ private: EXPECT_DATA_READS_AS_OUTSIDE_OF(ZEROES, block, start, count); } }; -constexpr std::initializer_list DATA_RANGES = { - DataRange{1024, 0, 1024}, // full size leaf, access beginning to end - DataRange{1024, 100, 1024-200}, // full size leaf, access middle to middle - DataRange{1024, 0, 1024-100}, // full size leaf, access beginning to middle - DataRange{1024, 100, 1024-100}, // full size leaf, access middle to end - DataRange{1024-100, 0, 1024-100}, // non-full size leaf, access beginning to end - DataRange{1024-100, 100, 1024-300}, // non-full size leaf, access middle to middle - DataRange{1024-100, 0, 1024-200}, // non-full size leaf, access beginning to middle - DataRange{1024-100, 100, 1024-200} // non-full size leaf, access middle to end + +inline std::vector DATA_RANGES() { + return { + DataRange{1024, 0, 1024}, // full size leaf, access beginning to end + DataRange{1024, 100, 1024 - 200}, // full size leaf, access middle to middle + DataRange{1024, 0, 1024 - 100}, // full size leaf, access beginning to middle + DataRange{1024, 100, 1024 - 100}, // full size leaf, access middle to end + DataRange{1024 - 100, 0, 1024 - 100}, // non-full size leaf, access beginning to end + DataRange{1024 - 100, 100, 1024 - 300}, // non-full size leaf, access middle to middle + DataRange{1024 - 100, 0, 1024 - 200}, // non-full size leaf, access beginning to middle + DataRange{1024 - 100, 100, 1024 - 200} // non-full size leaf, access middle to end + }; }; #define TYPED_TEST_P_FOR_ALL_DATA_RANGES(TestName) \ TYPED_TEST_P(BlockStoreTest, TestName) { \ - for (auto dataRange: DATA_RANGES) { \ + for (auto dataRange: DATA_RANGES()) { \ BlockStoreDataParametrizedTest(this->fixture.createBlockStore(), dataRange) \ .Test##TestName(); \ } \