summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/memoryindex
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-02-01 15:21:04 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2023-02-01 15:21:04 +0000
commit9ece782152a1f06b00a143d9cebf38c553c5a028 (patch)
treea6ab7c9f768399b03e7d5e956f122287198413fd /searchlib/src/tests/memoryindex
parent179daa38c12471ec9de4e48ec91865c8a336d8a8 (diff)
Deinline large destructors and clean up some code based on clion hints.
Diffstat (limited to 'searchlib/src/tests/memoryindex')
-rw-r--r--searchlib/src/tests/memoryindex/field_index/field_index_test.cpp51
-rw-r--r--searchlib/src/tests/memoryindex/field_index_remover/field_index_remover_test.cpp31
-rw-r--r--searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp41
-rw-r--r--searchlib/src/tests/memoryindex/memory_index/memory_index_test.cpp5
4 files changed, 70 insertions, 58 deletions
diff --git a/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp b/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp
index 76056029f78..b57a2f42ea7 100644
--- a/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp
+++ b/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp
@@ -76,15 +76,8 @@ private:
bool _firstDoc;
public:
- explicit MyBuilder(const Schema &schema)
- : IndexBuilder(schema),
- _ss(),
- _insideWord(false),
- _insideField(false),
- _firstWord(true),
- _firstField(true),
- _firstDoc(true)
- {}
+ explicit MyBuilder(const Schema &schema);
+ ~MyBuilder() override;
void startWord(vespalib::stringref word) override {
assert(_insideField);
@@ -153,6 +146,17 @@ public:
}
};
+MyBuilder::MyBuilder(const Schema &schema)
+ : IndexBuilder(schema),
+ _ss(),
+ _insideWord(false),
+ _insideField(false),
+ _firstWord(true),
+ _firstField(true),
+ _firstDoc(true)
+{}
+MyBuilder::~MyBuilder() = default;
+
struct SimpleMatchData {
TermFieldMatchData term;
TermFieldMatchDataArray array;
@@ -395,7 +399,7 @@ public:
if (_inserter != nullptr) {
_inserter->flush();
}
- for (auto wfp : _mock) {
+ for (const auto& wfp : _mock) {
auto &wf = wfp.first;
auto &word = wf.first;
auto fieldId = wf.second;
@@ -522,7 +526,7 @@ myCompactFeatures(FieldIndexCollection &fieldIndexes, ISequencedTaskExecutor &pu
Schema
make_all_index_schema(DocBuilder::AddFieldsType add_fields)
{
- DocBuilder db(add_fields);
+ DocBuilder db(std::move(add_fields));
return SchemaBuilder(db).add_all_indexes().build();
}
@@ -732,12 +736,8 @@ make_multi_field_add_fields()
struct FieldIndexCollectionTest : public ::testing::Test {
Schema schema;
FieldIndexCollection fic;
- FieldIndexCollectionTest()
- : schema(make_all_index_schema(make_multi_field_add_fields())),
- fic(schema, MockFieldLengthInspector())
- {
- }
- ~FieldIndexCollectionTest();
+ FieldIndexCollectionTest();
+ ~FieldIndexCollectionTest() override;
[[nodiscard]]NormalFieldIndex::PostingList::Iterator
find(const vespalib::stringref word, uint32_t field_id) const {
@@ -745,6 +745,11 @@ struct FieldIndexCollectionTest : public ::testing::Test {
}
};
+FieldIndexCollectionTest::FieldIndexCollectionTest()
+ : schema(make_all_index_schema(make_multi_field_add_fields())),
+ fic(schema, MockFieldLengthInspector())
+{
+}
FieldIndexCollectionTest::~FieldIndexCollectionTest() = default;
TEST_F(FieldIndexCollectionTest, require_that_multiple_posting_lists_across_multiple_fields_can_exist)
@@ -938,8 +943,8 @@ public:
DocumentInverterContext _inv_context;
DocumentInverter _inv;
- InverterTest(DocBuilder::AddFieldsType add_fields)
- : _b(add_fields),
+ explicit InverterTest(DocBuilder::AddFieldsType add_fields)
+ : _b(std::move(add_fields)),
_schema(SchemaBuilder(_b).add_all_indexes().build()),
_fic(_schema, MockFieldLengthInspector()),
_invertThreads(SequencedTaskExecutor::create(invert_executor, 2)),
@@ -948,14 +953,14 @@ public:
_inv(_inv_context)
{
}
- NormalFieldIndex::PostingList::Iterator find(const vespalib::stringref word, uint32_t field_id) const {
+ [[nodiscard]] NormalFieldIndex::PostingList::Iterator find(const vespalib::stringref word, uint32_t field_id) const {
return find_in_field_index<false>(word, field_id, _fic);
}
- NormalFieldIndex::PostingList::ConstIterator findFrozen(const vespalib::stringref word, uint32_t field_id) const {
+ [[nodiscard]] NormalFieldIndex::PostingList::ConstIterator findFrozen(const vespalib::stringref word, uint32_t field_id) const {
return find_frozen_in_field_index<false>(word, field_id, _fic);
}
- SearchIterator::UP search(const vespalib::stringref word, uint32_t field_id,
- const SimpleMatchData& match_data) {
+ [[nodiscard]] SearchIterator::UP
+ search(const vespalib::stringref word, uint32_t field_id,const SimpleMatchData& match_data) const {
return make_search_iterator<false>(findFrozen(word, field_id), featureStoreRef(_fic, field_id),
field_id, match_data.array);
}
diff --git a/searchlib/src/tests/memoryindex/field_index_remover/field_index_remover_test.cpp b/searchlib/src/tests/memoryindex/field_index_remover/field_index_remover_test.cpp
index 0a9964d5c31..dee8b7f9ace 100644
--- a/searchlib/src/tests/memoryindex/field_index_remover/field_index_remover_test.cpp
+++ b/searchlib/src/tests/memoryindex/field_index_remover/field_index_remover_test.cpp
@@ -63,20 +63,8 @@ struct FieldIndexRemoverTest : public ::testing::Test {
std::vector<std::map<vespalib::string, vespalib::datastore::EntryRef>> _wordToRefMaps;
std::vector<std::unique_ptr<FieldIndexRemover>> _removers;
- FieldIndexRemoverTest()
- : _listener(),
- _wordStores(),
- _wordToRefMaps(),
- _removers()
- {
- uint32_t numFields = 4;
- for (uint32_t fieldId = 0; fieldId < numFields; ++fieldId) {
- _wordStores.push_back(std::make_unique<WordStore>());
- _removers.push_back(std::make_unique<FieldIndexRemover>
- (*_wordStores.back()));
- }
- _wordToRefMaps.resize(numFields);
- }
+ FieldIndexRemoverTest();
+ ~FieldIndexRemoverTest() override;
vespalib::datastore::EntryRef getWordRef(const vespalib::string &word, uint32_t fieldId) {
auto &wordToRefMap = _wordToRefMaps[fieldId];
WordStore &wordStore = *_wordStores[fieldId];
@@ -110,6 +98,21 @@ struct FieldIndexRemoverTest : public ::testing::Test {
}
};
+FieldIndexRemoverTest::FieldIndexRemoverTest()
+ : _listener(),
+ _wordStores(),
+ _wordToRefMaps(),
+ _removers()
+{
+ uint32_t numFields = 4;
+ for (uint32_t fieldId = 0; fieldId < numFields; ++fieldId) {
+ _wordStores.push_back(std::make_unique<WordStore>());
+ _removers.push_back(std::make_unique<FieldIndexRemover>(*_wordStores.back()));
+ }
+ _wordToRefMaps.resize(numFields);
+}
+FieldIndexRemoverTest::~FieldIndexRemoverTest() = default;
+
TEST_F(FieldIndexRemoverTest, word_field_id_pairs_for_multiple_doc_ids_can_be_inserted)
{
insert("a", 1, 10).insert("a", 1, 20).insert("a", 1, 30);
diff --git a/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp b/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp
index 6470d6593cd..2e3e56a123b 100644
--- a/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp
+++ b/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp
@@ -161,27 +161,8 @@ struct FieldInverterTest : public ::testing::Test {
};
}
- FieldInverterTest()
- : _b(make_add_fields()),
- _schema(SchemaBuilder(_b).add_all_indexes().build()),
- _word_store(),
- _remover(_word_store),
- _inserter_backend(),
- _calculators(),
- _inserters(),
- _inverters()
- {
- for (uint32_t fieldId = 0; fieldId < _schema.getNumIndexFields();
- ++fieldId) {
- _calculators.emplace_back(std::make_unique<FieldLengthCalculator>());
- _inserters.emplace_back(std::make_unique<test::OrderedFieldIndexInserter>(_inserter_backend, fieldId));
- _inverters.push_back(std::make_unique<FieldInverter>(_schema,
- fieldId,
- _remover,
- *_inserters.back(),
- *_calculators.back()));
- }
- }
+ FieldInverterTest();
+ ~FieldInverterTest() override;
void invertDocument(uint32_t docId, const Document &doc) {
uint32_t fieldId = 0;
@@ -213,6 +194,24 @@ struct FieldInverterTest : public ::testing::Test {
};
+FieldInverterTest::FieldInverterTest()
+ : _b(make_add_fields()),
+ _schema(SchemaBuilder(_b).add_all_indexes().build()),
+ _word_store(),
+ _remover(_word_store),
+ _inserter_backend(),
+ _calculators(),
+ _inserters(),
+ _inverters()
+{
+ for (uint32_t fieldId = 0; fieldId < _schema.getNumIndexFields(); ++fieldId) {
+ _calculators.emplace_back(std::make_unique<FieldLengthCalculator>());
+ _inserters.emplace_back(std::make_unique<test::OrderedFieldIndexInserter>(_inserter_backend, fieldId));
+ _inverters.push_back(std::make_unique<FieldInverter>(_schema, fieldId, _remover, *_inserters.back(), *_calculators.back()));
+ }
+}
+FieldInverterTest::~FieldInverterTest() = default;
+
TEST_F(FieldInverterTest, require_that_fresh_insert_works)
{
invertDocument(10, *makeDoc10(_b));
diff --git a/searchlib/src/tests/memoryindex/memory_index/memory_index_test.cpp b/searchlib/src/tests/memoryindex/memory_index/memory_index_test.cpp
index 69063f38aeb..4f7a7934d4c 100644
--- a/searchlib/src/tests/memoryindex/memory_index/memory_index_test.cpp
+++ b/searchlib/src/tests/memoryindex/memory_index/memory_index_test.cpp
@@ -55,6 +55,8 @@ using namespace search::queryeval;
struct MySetup : public IFieldLengthInspector {
std::vector<vespalib::string> fields;
std::map<vespalib::string, FieldLengthInfo> field_lengths;
+ MySetup();
+ ~MySetup() override;
MySetup &field(const std::string &name) {
fields.emplace_back(name);
return *this;
@@ -84,6 +86,9 @@ struct MySetup : public IFieldLengthInspector {
};
+MySetup::MySetup() = default;
+MySetup::~MySetup() = default;
+
//-----------------------------------------------------------------------------
struct Index {