summaryrefslogtreecommitdiffstats
path: root/vespalib/src/tests/util
diff options
context:
space:
mode:
authorArne H Juul <arnej27959@users.noreply.github.com>2021-02-16 13:30:33 +0100
committerGitHub <noreply@github.com>2021-02-16 13:30:33 +0100
commit0399c7f2cf9b75253e91a88e899bab82c36040dd (patch)
tree107c021de2a26f8cc077b304075812af3165a8cd /vespalib/src/tests/util
parente355514ed46658e015aff3f933101281ae23e8c1 (diff)
parenta29aa609abab633f01a19a7e7576be444a38328e (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')
-rw-r--r--vespalib/src/tests/util/generationhandler_stress/generation_handler_stress_test.cpp6
-rw-r--r--vespalib/src/tests/util/rcuvector/rcuvector_test.cpp7
-rw-r--r--vespalib/src/tests/util/size_literals/CMakeLists.txt9
-rw-r--r--vespalib/src/tests/util/size_literals/size_literals_test.cpp41
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()