diff options
author | Arne H Juul <arnej27959@users.noreply.github.com> | 2021-02-16 13:30:33 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-16 13:30:33 +0100 |
commit | 0399c7f2cf9b75253e91a88e899bab82c36040dd (patch) | |
tree | 107c021de2a26f8cc077b304075812af3165a8cd /vespalib/src/tests/util | |
parent | e355514ed46658e015aff3f933101281ae23e8c1 (diff) | |
parent | a29aa609abab633f01a19a7e7576be444a38328e (diff) |
Merge pull request #16495 from vespa-engine/arnej/add-size-literals
add literals for sizes in KB, MB, and GB
Diffstat (limited to 'vespalib/src/tests/util')
4 files changed, 57 insertions, 6 deletions
diff --git a/vespalib/src/tests/util/generationhandler_stress/generation_handler_stress_test.cpp b/vespalib/src/tests/util/generationhandler_stress/generation_handler_stress_test.cpp index 2c1463e506a..f606b7aa39e 100644 --- a/vespalib/src/tests/util/generationhandler_stress/generation_handler_stress_test.cpp +++ b/vespalib/src/tests/util/generationhandler_stress/generation_handler_stress_test.cpp @@ -2,9 +2,9 @@ #include <vespa/log/log.h> LOG_SETUP("generation_handler_stress_test"); #include <vespa/vespalib/testkit/testapp.h> - #include <vespa/vespalib/util/generationhandler.h> #include <vespa/vespalib/util/threadstackexecutor.h> +#include <vespa/vespalib/util/size_literals.h> using vespalib::Executor; using vespalib::GenerationHandler; @@ -52,8 +52,8 @@ private: Fixture::Fixture(uint32_t readThreads) : _generationHandler(), _readThreads(readThreads), - _writer(1, 128 * 1024), - _readers(readThreads, 128 * 1024), + _writer(1, 128_Ki), + _readers(readThreads, 128_Ki), _doneWriteWork(0), _doneReadWork(0), _stopRead(0), diff --git a/vespalib/src/tests/util/rcuvector/rcuvector_test.cpp b/vespalib/src/tests/util/rcuvector/rcuvector_test.cpp index 4cbfbfebd3c..d0f319d4a0b 100644 --- a/vespalib/src/tests/util/rcuvector/rcuvector_test.cpp +++ b/vespalib/src/tests/util/rcuvector/rcuvector_test.cpp @@ -2,6 +2,7 @@ #include <vespa/vespalib/testkit/testapp.h> #include <vespa/vespalib/util/rcuvector.h> +#include <vespa/vespalib/util/size_literals.h> using namespace vespalib; @@ -241,13 +242,13 @@ struct ShrinkFixture { GenerationHolder g; RcuVectorBase<int> vec; int *oldPtr; - ShrinkFixture() : g(), vec(4096, 50, 0, g, alloc::Alloc::allocMMap()), oldPtr() + ShrinkFixture() : g(), vec(4_Ki, 50, 0, g, alloc::Alloc::allocMMap()), oldPtr() { for (size_t i = 0; i < 4000; ++i) { vec.push_back(7); } EXPECT_EQUAL(4000u, vec.size()); - EXPECT_EQUAL(4096u, vec.capacity()); + EXPECT_EQUAL(4_Ki, vec.capacity()); assertEmptyHoldList(); oldPtr = &vec[0]; } @@ -263,7 +264,7 @@ TEST_F("require that shrink() does not increase allocated memory", ShrinkFixture { f.vec.shrink(2732); EXPECT_EQUAL(2732u, f.vec.size()); - EXPECT_EQUAL(4096u, f.vec.capacity()); + EXPECT_EQUAL(4_Ki, f.vec.capacity()); TEST_DO(f.assertOldEqualNewBuffer()); TEST_DO(f.assertEmptyHoldList()); } diff --git a/vespalib/src/tests/util/size_literals/CMakeLists.txt b/vespalib/src/tests/util/size_literals/CMakeLists.txt new file mode 100644 index 00000000000..b23b5e4f9a6 --- /dev/null +++ b/vespalib/src/tests/util/size_literals/CMakeLists.txt @@ -0,0 +1,9 @@ +# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +vespa_add_executable(vespalib_size_literals_test_app TEST + SOURCES + size_literals_test.cpp + DEPENDS + vespalib + GTest::GTest +) +vespa_add_test(NAME vespalib_size_literals_test_app COMMAND vespalib_size_literals_test_app) diff --git a/vespalib/src/tests/util/size_literals/size_literals_test.cpp b/vespalib/src/tests/util/size_literals/size_literals_test.cpp new file mode 100644 index 00000000000..86c4866442b --- /dev/null +++ b/vespalib/src/tests/util/size_literals/size_literals_test.cpp @@ -0,0 +1,41 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#include <vespa/vespalib/util/size_literals.h> +#include <vespa/vespalib/gtest/gtest.h> + +template<typename T> bool is_size_t(T) { return false; } +template<> bool is_size_t<size_t>(size_t) { return true; } + +TEST(SizeLiteralsTest, simple_usage) +{ + auto v1k = 1_Ki; + auto v1m = 1_Mi; + auto v1g = 1_Gi; + auto v1t = 1_Ti; + auto v42k = 42_Ki; + auto v42m = 42_Mi; + auto v42g = 42_Gi; + auto v42t = 42_Ti; + + EXPECT_EQ(v1k, 1024ul); + EXPECT_EQ(v1m, 1024ul * 1024ul); + EXPECT_EQ(v1g, 1024ul * 1024ul * 1024ul); + EXPECT_EQ(v1t, 1024ul * 1024ul * 1024ul * 1024ul);; + + EXPECT_EQ(v42k, 42ul * 1024ul); + EXPECT_EQ(v42m, 42ul * 1024ul * 1024ul); + EXPECT_EQ(v42g, 42ul * 1024ul * 1024ul * 1024ul); + EXPECT_EQ(v42t, 42ul * 1024ul * 1024ul * 1024ul * 1024ul); + + EXPECT_TRUE(is_size_t(v1k)); + EXPECT_TRUE(is_size_t(v1g)); + EXPECT_TRUE(is_size_t(v1g)); + EXPECT_TRUE(is_size_t(v1t)); + + EXPECT_TRUE(is_size_t(v42k)); + EXPECT_TRUE(is_size_t(v42g)); + EXPECT_TRUE(is_size_t(v42g)); + EXPECT_TRUE(is_size_t(v42t)); +} + +GTEST_MAIN_RUN_ALL_TESTS() |