diff options
Diffstat (limited to 'searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp')
-rw-r--r-- | searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp b/searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp index 106bdf5cc98..52b7a7ce60a 100644 --- a/searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp +++ b/searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp @@ -95,7 +95,7 @@ struct Fixture vespalib::ThreadStackExecutor _executor; Fixture(); ~Fixture(); - std::unique_ptr<AttributeInitializer> createInitializer(AttributeSpec && spec, SerialNum serialNum); + std::unique_ptr<AttributeInitializer> createInitializer(AttributeSpec && spec, std::optional<SerialNum> serialNum); }; Fixture::Fixture() @@ -109,7 +109,7 @@ Fixture::Fixture() Fixture::~Fixture() = default; std::unique_ptr<AttributeInitializer> -Fixture::createInitializer(AttributeSpec &&spec, SerialNum serialNum) +Fixture::createInitializer(AttributeSpec &&spec, std::optional<SerialNum> serialNum) { return std::make_unique<AttributeInitializer>(_diskLayout->createAttributeDir(spec.getName()), "test.subdb", std::move(spec), serialNum, _factory, _executor); } @@ -241,6 +241,15 @@ TEST("require that transient memory usage is reported for attribute load without EXPECT_EQUAL(0u, avi->get_transient_memory_usage()); } +TEST("require that saved attribute is ignored when serial num is not set") +{ + saveAttr("a", int32_sv, 10, 2); + Fixture f; + auto av = f.createInitializer({"a", int32_sv}, std::nullopt)->init().getAttribute(); + EXPECT_EQUAL(0u, av->getCreateSerialNum()); + EXPECT_EQUAL(1u, av->getNumDocs()); +} + } TEST_MAIN() |