diff options
author | Tor Egge <Tor.Egge@broadpark.no> | 2021-02-02 15:34:28 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@broadpark.no> | 2021-02-02 15:34:28 +0100 |
commit | 3a4df233f6e4815ac356509ddfa0bc9076bb0376 (patch) | |
tree | 3ebc907d6f1197ca52e4e9505f7a00896864b3f9 /searchcore/src/tests/proton/common | |
parent | 4b3b7543f0f8acf3f72d25d76e36d63841de278a (diff) |
Improve handling of changed alloc config.
Diffstat (limited to 'searchcore/src/tests/proton/common')
-rw-r--r-- | searchcore/src/tests/proton/common/alloc_config/CMakeLists.txt | 9 | ||||
-rw-r--r-- | searchcore/src/tests/proton/common/alloc_config/alloc_config_test.cpp | 35 |
2 files changed, 44 insertions, 0 deletions
diff --git a/searchcore/src/tests/proton/common/alloc_config/CMakeLists.txt b/searchcore/src/tests/proton/common/alloc_config/CMakeLists.txt new file mode 100644 index 00000000000..26a2dc72cc2 --- /dev/null +++ b/searchcore/src/tests/proton/common/alloc_config/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(searchcore_alloc_config_test_app TEST + SOURCES + alloc_config_test.cpp + DEPENDS + searchcore_pcommon + GTest::GTest +) +vespa_add_test(NAME searchcore_alloc_config_test_app COMMAND searchcore_alloc_config_test_app) diff --git a/searchcore/src/tests/proton/common/alloc_config/alloc_config_test.cpp b/searchcore/src/tests/proton/common/alloc_config/alloc_config_test.cpp new file mode 100644 index 00000000000..2c2e03dcfd0 --- /dev/null +++ b/searchcore/src/tests/proton/common/alloc_config/alloc_config_test.cpp @@ -0,0 +1,35 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#include <vespa/searchcore/proton/common/alloc_config.h> +#include <vespa/searchcore/proton/common/subdbtype.h> +#include <vespa/vespalib/gtest/gtest.h> + +using proton::AllocConfig; +using proton::AllocStrategy; +using proton::SubDbType; +using search::CompactionStrategy; +using search::GrowStrategy; + +namespace { + +CompactionStrategy baseline_compaction_strategy(0.2, 0.25); + +GrowStrategy make_grow_strategy(uint32_t initial_docs) { + return GrowStrategy(initial_docs, 0.1, 1, 0.15); +} + +AllocStrategy make_alloc_strategy(uint32_t initial_docs) { + return AllocStrategy(make_grow_strategy(initial_docs), baseline_compaction_strategy, 10000); +} + +}; + +TEST(AllocConfigTest, hello_world) +{ + AllocConfig config(make_alloc_strategy(10000000), 5, 2); + EXPECT_EQ(make_alloc_strategy(20000000), config.make_alloc_strategy(SubDbType::READY)); + EXPECT_EQ(make_alloc_strategy(100000), config.make_alloc_strategy(SubDbType::REMOVED)); + EXPECT_EQ(make_alloc_strategy(30000000), config.make_alloc_strategy(SubDbType::NOTREADY)); +} + +GTEST_MAIN_RUN_ALL_TESTS() |