From f55ab03e2d0ebc9b7584d3daa367065b41df99b5 Mon Sep 17 00:00:00 2001 From: Marsel Galimullin Date: Mon, 19 Sep 2016 02:13:59 +0300 Subject: [PATCH] Fixed test stress-queue --- test/include/cds_test/fc_hevy_value.h | 47 +++++++-------------------- 1 file changed, 11 insertions(+), 36 deletions(-) diff --git a/test/include/cds_test/fc_hevy_value.h b/test/include/cds_test/fc_hevy_value.h index b53e98a7..58107796 100644 --- a/test/include/cds_test/fc_hevy_value.h +++ b/test/include/cds_test/fc_hevy_value.h @@ -16,60 +16,35 @@ namespace{ struct HeavyValue { int value; - size_t buffer_size; size_t nNo; size_t nWriterNo; + static std::vector pop_buff; + static std::vector::size_type buffer_size; - explicit HeavyValue(int new_value = 0, size_t new_bufer_size = DefaultSize) + explicit HeavyValue(int new_value = 0) : value(new_value), - buffer_size(new_bufer_size), nNo(0), nWriterNo(0) { - if( buffer_size != pop_buff.size() ){ - pop_buff.resize(buffer_size); - for(size_t i = 0; i < buffer_size; ++i) - pop_buff[i] = i; - } }; HeavyValue(const HeavyValue &other) : value(other.value), - buffer_size(other.buffer_size), nNo(other.nNo), nWriterNo(other.nWriterNo) { - for(size_t i = 0; i < buffer_size; ++i) - pop_buff[i] = static_cast(std::sqrt(other.pop_buff[i])); - } - void operator=(const int& new_value) - { - value = new_value; - } - bool operator==(const int new_value) const - { - return value == new_value; - } - bool operator<=(const int new_value) const - { - return value <= new_value; + for(decltype(buffer_size) i = 0; i < buffer_size; ++i) + pop_buff[i] = static_cast(std::sqrt(other.pop_buff[i]*rand())); } - bool operator<(const int new_value) const - { - return value < new_value; - } - bool operator>(const int new_value) const - { - return value > new_value; - } - bool operator>=(const int new_value) const - { - return value >= new_value; + static void setArraySize(decltype(buffer_size) new_size){ + buffer_size = new_size; + pop_buff.resize(buffer_size, rand()); } }; - template - std::vector HeavyValue< DefaultSize >::pop_buff = {}; + std::vector HeavyValue< DefaultSize >::pop_buff(DefaultSize, rand()); + template + std::vector::size_type HeavyValue< DefaultSize >::buffer_size = DefaultSize; } #endif /* SOURCE_DIRECTORY__TEST_INCLUDE_CDS_TEST_FC_HEVY_VALUE_H_ */ -- 2.34.1