summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-02-26 23:08:25 +0100
committerTor Egge <Tor.Egge@online.no>2022-02-26 23:08:25 +0100
commit8b6038f60ffb5708c7c91dbc671bbf26afe35ad8 (patch)
treef9f1fba7f3a3a6cdd34482ad7b28b8ad52e95a55 /searchlib/src/tests
parentc1752debf75d310617d360a34e15a3ed21e7772a (diff)
Remove inlining warnings (searchlib).
Diffstat (limited to 'searchlib/src/tests')
-rw-r--r--searchlib/src/tests/attribute/imported_attribute_vector/imported_attribute_vector_test.cpp11
-rw-r--r--searchlib/src/tests/attribute/imported_search_context/imported_search_context_test.cpp15
-rw-r--r--searchlib/src/tests/docstore/document_store/document_store_test.cpp3
-rw-r--r--searchlib/src/tests/features/element_similarity_feature/element_similarity_feature_test.cpp3
-rw-r--r--searchlib/src/tests/features/imported_dot_product/imported_dot_product_test.cpp6
-rw-r--r--searchlib/src/tests/features/item_raw_score/item_raw_score_test.cpp3
-rw-r--r--searchlib/src/tests/features/native_dot_product/native_dot_product_test.cpp3
-rw-r--r--searchlib/src/tests/features/nns_closeness/nns_closeness_test.cpp3
-rw-r--r--searchlib/src/tests/features/nns_distance/nns_distance_test.cpp3
-rw-r--r--searchlib/src/tests/features/raw_score/raw_score_test.cpp3
-rw-r--r--searchlib/src/tests/features/subqueries/subqueries_test.cpp3
-rw-r--r--searchlib/src/tests/hitcollector/hitcollector_test.cpp6
-rw-r--r--searchlib/src/tests/queryeval/weak_and/wand_bench_setup.hpp30
13 files changed, 92 insertions, 0 deletions
diff --git a/searchlib/src/tests/attribute/imported_attribute_vector/imported_attribute_vector_test.cpp b/searchlib/src/tests/attribute/imported_attribute_vector/imported_attribute_vector_test.cpp
index fa567be9b76..167eaccc2f7 100644
--- a/searchlib/src/tests/attribute/imported_attribute_vector/imported_attribute_vector_test.cpp
+++ b/searchlib/src/tests/attribute/imported_attribute_vector/imported_attribute_vector_test.cpp
@@ -244,6 +244,7 @@ struct SingleStringAttrFixture : Fixture {
SingleStringAttrFixture() : Fixture() {
setup();
}
+ ~SingleStringAttrFixture() override;
void setup() {
this->template reset_with_single_value_reference_mappings<StringAttribute, const char*>(
@@ -253,6 +254,8 @@ struct SingleStringAttrFixture : Fixture {
}
};
+SingleStringAttrFixture::~SingleStringAttrFixture() = default;
+
TEST_F("Single-valued string attribute values can be retrieved via reference", SingleStringAttrFixture)
{
char buf[64];
@@ -329,6 +332,7 @@ struct MultiStringAttrFixture : Fixture {
MultiStringAttrFixture() : Fixture() {
setup();
}
+ ~MultiStringAttrFixture() override;
void setup() {
reset_with_array_value_reference_mappings<StringAttribute, const char *>(
@@ -338,6 +342,8 @@ struct MultiStringAttrFixture : Fixture {
}
};
+MultiStringAttrFixture::~MultiStringAttrFixture() = default;
+
TEST_F("Multi-valued string attribute values can be retrieved via reference", MultiStringAttrFixture) {
assert_multi_value_matches<const char*>(f, DocId(2), f.doc3_values, string_eq);
assert_multi_value_matches<const char*>(f, DocId(4), f.doc7_values, string_eq);
@@ -368,6 +374,7 @@ struct WeightedMultiStringAttrFixture : Fixture {
WeightedMultiStringAttrFixture() : Fixture() {
setup();
}
+ ~WeightedMultiStringAttrFixture() override;
void setup() {
reset_with_wset_value_reference_mappings<StringAttribute, WeightedString>(
@@ -377,6 +384,8 @@ struct WeightedMultiStringAttrFixture : Fixture {
}
};
+WeightedMultiStringAttrFixture::~WeightedMultiStringAttrFixture() = default;
+
TEST_F("Weighted string attribute values can be retrieved via reference", WeightedMultiStringAttrFixture) {
assert_multi_value_matches<WeightedString>(f, DocId(1), f.doc3_values);
assert_multi_value_matches<WeightedString>(f, DocId(3), f.doc7_values);
@@ -523,6 +532,7 @@ struct TensorAttrFixture : Fixture {
{
setup(dense);
}
+ ~TensorAttrFixture() override;
void setup(bool dense) {
if (dense) {
tensor1 = createTensor(TensorSpec("tensor(x[2])").add({{"x", 1}}, 11));
@@ -562,6 +572,7 @@ struct TensorAttrFixture : Fixture {
}
};
+TensorAttrFixture::~TensorAttrFixture() = default;
TEST_F("Imported sparse tensor", TensorAttrFixture(false))
{
diff --git a/searchlib/src/tests/attribute/imported_search_context/imported_search_context_test.cpp b/searchlib/src/tests/attribute/imported_search_context/imported_search_context_test.cpp
index 35011c052d2..6cb0dec3c1f 100644
--- a/searchlib/src/tests/attribute/imported_search_context/imported_search_context_test.cpp
+++ b/searchlib/src/tests/attribute/imported_search_context/imported_search_context_test.cpp
@@ -21,6 +21,7 @@ struct Fixture : ImportedAttributeFixture {
Fixture(bool useSearchCache = false, FastSearchConfig fastSearch = FastSearchConfig::Default)
: ImportedAttributeFixture(useSearchCache, fastSearch)
{}
+ ~Fixture() override;
std::unique_ptr<ImportedSearchContext>
create_context(std::unique_ptr<QueryTermSimple> term) {
@@ -50,6 +51,8 @@ struct Fixture : ImportedAttributeFixture {
}
};
+Fixture::~Fixture() = default;
+
template <typename Iterator>
bool is_hit_with_weight(Iterator& iter, TermFieldMatchData& match, DocId lid, int32_t weight) {
if (!EXPECT_TRUE(iter.seek(lid))) {
@@ -155,8 +158,11 @@ struct ArrayValueFixture : Fixture {
{DocId(4), dummy_gid(7), DocId(7), doc7_values},
{DocId(5), dummy_gid(8), DocId(8), doc8_values}});
}
+ ~ArrayValueFixture() override;
};
+ArrayValueFixture::~ArrayValueFixture() = default;
+
TEST_F("Non-strict iterator handles unmapped LIDs", ArrayValueFixture) {
auto ctx = f.create_context(word_term("1234"));
TermFieldMatchData match;
@@ -196,8 +202,11 @@ struct WsetValueFixture : Fixture {
{DocId(4), dummy_gid(4), DocId(4), doc4_values},
{DocId(6), dummy_gid(7), DocId(7), doc7_values}});
}
+ ~WsetValueFixture() override;
};
+WsetValueFixture::~WsetValueFixture() = default;
+
TEST_F("Non-strict iterator unpacks target match data for weighted set hit", WsetValueFixture) {
auto ctx = f.create_context(word_term("foo"));
TermFieldMatchData match;
@@ -243,8 +252,11 @@ struct SingleValueFixture : Fixture {
{DocId(5), dummy_gid(8), DocId(8), 5678},
{DocId(7), dummy_gid(9), DocId(9), 4321}});
}
+ ~SingleValueFixture() override;
};
+SingleValueFixture::~SingleValueFixture() = default;
+
// Strict iteration implicitly tests unmapped LIDs by its nature, so we don't have a separate test for that.
TEST_F("Strict iterator seeks to first available hit LID", SingleValueFixture) {
@@ -390,8 +402,11 @@ struct SearchCacheFixture : Fixture {
FastSearchConfig::ExplicitlyEnabled,
FilterConfig::ExplicitlyEnabled);
}
+ ~SearchCacheFixture() override;
};
+SearchCacheFixture::~SearchCacheFixture() = default;
+
BitVectorSearchCache::Entry::SP
makeSearchCacheEntry(const std::vector<uint32_t> docIds, uint32_t docIdLimit)
{
diff --git a/searchlib/src/tests/docstore/document_store/document_store_test.cpp b/searchlib/src/tests/docstore/document_store/document_store_test.cpp
index f2bec30a349..0483ea26423 100644
--- a/searchlib/src/tests/docstore/document_store/document_store_test.cpp
+++ b/searchlib/src/tests/docstore/document_store/document_store_test.cpp
@@ -13,6 +13,7 @@ document::DocumentTypeRepo repo;
struct NullDataStore : IDataStore {
NullDataStore() : IDataStore("") {}
+ ~NullDataStore() override;
ssize_t read(uint32_t, vespalib::DataBuffer &) const override { return 0; }
void read(const LidVector &, IBufferVisitor &) const override { }
void write(uint64_t, uint32_t, const void *, size_t) override {}
@@ -46,6 +47,8 @@ struct NullDataStore : IDataStore {
void shrinkLidSpace() override {}
};
+NullDataStore::~NullDataStore() = default;
+
TEST_FFF("require that uncache docstore lookups are counted",
DocumentStore::Config(CompressionConfig::NONE, 0, 0),
NullDataStore(), DocumentStore(f1, f2))
diff --git a/searchlib/src/tests/features/element_similarity_feature/element_similarity_feature_test.cpp b/searchlib/src/tests/features/element_similarity_feature/element_similarity_feature_test.cpp
index dd1dc5b3689..97508e1f582 100644
--- a/searchlib/src/tests/features/element_similarity_feature/element_similarity_feature_test.cpp
+++ b/searchlib/src/tests/features/element_similarity_feature/element_similarity_feature_test.cpp
@@ -65,11 +65,14 @@ struct IndexFixture {
struct FeatureDumpFixture : public IDumpFeatureVisitor {
std::vector<vespalib::string> actual;
FeatureDumpFixture() : IDumpFeatureVisitor(), actual() {}
+ ~FeatureDumpFixture() override;
virtual void visitDumpFeature(const vespalib::string &name) override {
actual.push_back(name);
}
};
+FeatureDumpFixture::~FeatureDumpFixture() = default;
+
struct RankFixture : BlueprintFactoryFixture {
RankFixture() : BlueprintFactoryFixture() {}
double get_feature(const vespalib::string &query, const FtIndex &index, const vespalib::string &select,
diff --git a/searchlib/src/tests/features/imported_dot_product/imported_dot_product_test.cpp b/searchlib/src/tests/features/imported_dot_product/imported_dot_product_test.cpp
index 72613cd0fd4..a32d52d06a0 100644
--- a/searchlib/src/tests/features/imported_dot_product/imported_dot_product_test.cpp
+++ b/searchlib/src/tests/features/imported_dot_product/imported_dot_product_test.cpp
@@ -94,6 +94,7 @@ struct FixtureBase : ImportedAttributeFixture {
struct ArrayFixture : FixtureBase {
+ ~ArrayFixture() override;
void setup_integer_mappings(BasicType int_type) override {
reset_with_array_value_reference_mappings<IntegerAttribute, int64_t>(
int_type,
@@ -168,6 +169,8 @@ struct ArrayFixture : FixtureBase {
}
};
+ArrayFixture::~ArrayFixture() = default;
+
TEST_F("Dense i32/i64 array dot products can be evaluated with string parameter", ArrayFixture) {
f.check_all_integer_executions(2*2 + 3*3 + 5*4, "[2 3 4]", DocId(1));
}
@@ -261,8 +264,11 @@ struct WsetFixture : FixtureBase {
int_type,
{{DocId(3), dummy_gid(7), DocId(7), doc7_values}});
}
+ ~WsetFixture() override;
};
+WsetFixture::~WsetFixture() = default;
+
TEST_F("i32/i64 wset dot products can be evaluated with string parameter", WsetFixture) {
f.check_all_integer_executions(21*7 + 19*13, "{200:21,300:19,999:1234}", DocId(3));
}
diff --git a/searchlib/src/tests/features/item_raw_score/item_raw_score_test.cpp b/searchlib/src/tests/features/item_raw_score/item_raw_score_test.cpp
index 67924d2019a..ab6fa1c0596 100644
--- a/searchlib/src/tests/features/item_raw_score/item_raw_score_test.cpp
+++ b/searchlib/src/tests/features/item_raw_score/item_raw_score_test.cpp
@@ -43,8 +43,11 @@ struct FeatureDumpFixture : public IDumpFeatureVisitor {
TEST_ERROR("no features should be dumped");
}
FeatureDumpFixture() : IDumpFeatureVisitor() {}
+ ~FeatureDumpFixture() override;
};
+FeatureDumpFixture::~FeatureDumpFixture() = default;
+
struct RankFixture : BlueprintFactoryFixture, IndexFixture {
QueryEnvironment queryEnv;
RankSetup rankSetup;
diff --git a/searchlib/src/tests/features/native_dot_product/native_dot_product_test.cpp b/searchlib/src/tests/features/native_dot_product/native_dot_product_test.cpp
index 4d9318311f3..e4743a4a783 100644
--- a/searchlib/src/tests/features/native_dot_product/native_dot_product_test.cpp
+++ b/searchlib/src/tests/features/native_dot_product/native_dot_product_test.cpp
@@ -42,8 +42,11 @@ struct FeatureDumpFixture : public IDumpFeatureVisitor {
TEST_ERROR("no features should be dumped");
}
FeatureDumpFixture() : IDumpFeatureVisitor() {}
+ ~FeatureDumpFixture() override;
};
+FeatureDumpFixture::~FeatureDumpFixture() = default;
+
std::vector<uint32_t> vec() {
std::vector<uint32_t> ret;
return ret;
diff --git a/searchlib/src/tests/features/nns_closeness/nns_closeness_test.cpp b/searchlib/src/tests/features/nns_closeness/nns_closeness_test.cpp
index 713abeada6a..c7667b2cecd 100644
--- a/searchlib/src/tests/features/nns_closeness/nns_closeness_test.cpp
+++ b/searchlib/src/tests/features/nns_closeness/nns_closeness_test.cpp
@@ -45,8 +45,11 @@ struct FeatureDumpFixture : public IDumpFeatureVisitor {
TEST_ERROR("no features should be dumped");
}
FeatureDumpFixture() : IDumpFeatureVisitor() {}
+ ~FeatureDumpFixture() override;
};
+FeatureDumpFixture::~FeatureDumpFixture() = default;
+
struct RankFixture : BlueprintFactoryFixture, IndexFixture {
QueryEnvironment queryEnv;
RankSetup rankSetup;
diff --git a/searchlib/src/tests/features/nns_distance/nns_distance_test.cpp b/searchlib/src/tests/features/nns_distance/nns_distance_test.cpp
index c3973a6493c..1e81b5576c1 100644
--- a/searchlib/src/tests/features/nns_distance/nns_distance_test.cpp
+++ b/searchlib/src/tests/features/nns_distance/nns_distance_test.cpp
@@ -45,8 +45,11 @@ struct FeatureDumpFixture : public IDumpFeatureVisitor {
TEST_ERROR("no features should be dumped");
}
FeatureDumpFixture() : IDumpFeatureVisitor() {}
+ ~FeatureDumpFixture() override;
};
+FeatureDumpFixture::~FeatureDumpFixture() = default;
+
struct RankFixture : BlueprintFactoryFixture, IndexFixture {
QueryEnvironment queryEnv;
RankSetup rankSetup;
diff --git a/searchlib/src/tests/features/raw_score/raw_score_test.cpp b/searchlib/src/tests/features/raw_score/raw_score_test.cpp
index b3ad2f3c803..1fb3f4050a1 100644
--- a/searchlib/src/tests/features/raw_score/raw_score_test.cpp
+++ b/searchlib/src/tests/features/raw_score/raw_score_test.cpp
@@ -40,8 +40,11 @@ struct FeatureDumpFixture : public IDumpFeatureVisitor {
TEST_ERROR("no features should be dumped");
}
FeatureDumpFixture() : IDumpFeatureVisitor() {}
+ ~FeatureDumpFixture() override;
};
+FeatureDumpFixture::~FeatureDumpFixture() = default;
+
struct RankFixture : BlueprintFactoryFixture, IndexFixture {
QueryEnvironment queryEnv;
RankSetup rankSetup;
diff --git a/searchlib/src/tests/features/subqueries/subqueries_test.cpp b/searchlib/src/tests/features/subqueries/subqueries_test.cpp
index be7f6bb5e9a..cc6febead3c 100644
--- a/searchlib/src/tests/features/subqueries/subqueries_test.cpp
+++ b/searchlib/src/tests/features/subqueries/subqueries_test.cpp
@@ -38,8 +38,11 @@ struct FeatureDumpFixture : public IDumpFeatureVisitor {
TEST_ERROR("no features should be dumped");
}
FeatureDumpFixture() : IDumpFeatureVisitor() {}
+ ~FeatureDumpFixture() override;
};
+FeatureDumpFixture::~FeatureDumpFixture() = default;
+
struct RankFixture : BlueprintFactoryFixture, IndexFixture {
QueryEnvironment queryEnv;
RankSetup rankSetup;
diff --git a/searchlib/src/tests/hitcollector/hitcollector_test.cpp b/searchlib/src/tests/hitcollector/hitcollector_test.cpp
index ed68c47ea23..3a7bce17288 100644
--- a/searchlib/src/tests/hitcollector/hitcollector_test.cpp
+++ b/searchlib/src/tests/hitcollector/hitcollector_test.cpp
@@ -179,18 +179,24 @@ struct Fixture {
struct AscendingScoreFixture : Fixture {
AscendingScoreFixture() : Fixture() {}
+ ~AscendingScoreFixture() override;
HitRank calculateScore(uint32_t i) override {
return i + 100;
}
};
+AscendingScoreFixture::~AscendingScoreFixture() = default;
+
struct DescendingScoreFixture : Fixture {
DescendingScoreFixture() : Fixture() {}
+ ~DescendingScoreFixture() override;
HitRank calculateScore(uint32_t i) override {
return 100 - i;
}
};
+DescendingScoreFixture::~DescendingScoreFixture() = default;
+
TEST_F("testReRank - empty", Fixture) {
EXPECT_EQUAL(0u, f.reRank());
}
diff --git a/searchlib/src/tests/queryeval/weak_and/wand_bench_setup.hpp b/searchlib/src/tests/queryeval/weak_and/wand_bench_setup.hpp
index 14de5ec6475..87eec226221 100644
--- a/searchlib/src/tests/queryeval/weak_and/wand_bench_setup.hpp
+++ b/searchlib/src/tests/queryeval/weak_and/wand_bench_setup.hpp
@@ -97,34 +97,44 @@ struct WandFactory {
struct VespaWandFactory : WandFactory {
uint32_t n;
VespaWandFactory(uint32_t n_in) : n(n_in) {}
+ ~VespaWandFactory() override;
virtual std::string name() const override { return make_string("VESPA WAND (n=%u)", n); }
virtual SearchIterator::UP create(const wand::Terms &terms) override {
return SearchIterator::UP(WeakAndSearch::create(terms, n, true));
}
};
+VespaWandFactory::~VespaWandFactory() = default;
+
struct VespaArrayWandFactory : WandFactory {
uint32_t n;
VespaArrayWandFactory(uint32_t n_in) : n(n_in) {}
+ ~VespaArrayWandFactory() override;
virtual std::string name() const override { return make_string("VESPA ARRAY WAND (n=%u)", n); }
virtual SearchIterator::UP create(const wand::Terms &terms) override {
return SearchIterator::UP(WeakAndSearch::createArrayWand(terms, n, true));
}
};
+VespaArrayWandFactory::~VespaArrayWandFactory() = default;
+
struct VespaHeapWandFactory : WandFactory {
uint32_t n;
VespaHeapWandFactory(uint32_t n_in) : n(n_in) {}
+ ~VespaHeapWandFactory() override;
virtual std::string name() const override { return make_string("VESPA HEAP WAND (n=%u)", n); }
virtual SearchIterator::UP create(const wand::Terms &terms) override {
return SearchIterator::UP(WeakAndSearch::createHeapWand(terms, n, true));
}
};
+VespaHeapWandFactory::~VespaHeapWandFactory() = default;
+
struct VespaParallelWandFactory : public WandFactory {
SharedWeakAndPriorityQueue scores;
TermFieldMatchData rootMatchData;
VespaParallelWandFactory(uint32_t n) : scores(n), rootMatchData() {}
+ ~VespaParallelWandFactory() override;
virtual std::string name() const override { return make_string("VESPA PWAND (n=%u)", scores.getScoresToTrack()); }
virtual SearchIterator::UP create(const wand::Terms &terms) override {
return SearchIterator::UP(ParallelWeakAndSearch::create(terms,
@@ -133,8 +143,11 @@ struct VespaParallelWandFactory : public WandFactory {
}
};
+VespaParallelWandFactory::~VespaParallelWandFactory() = default;
+
struct VespaParallelArrayWandFactory : public VespaParallelWandFactory {
VespaParallelArrayWandFactory(uint32_t n) : VespaParallelWandFactory(n) {}
+ ~VespaParallelArrayWandFactory() override;
virtual std::string name() const override { return make_string("VESPA ARRAY PWAND (n=%u)", scores.getScoresToTrack()); }
virtual SearchIterator::UP create(const wand::Terms &terms) override {
return SearchIterator::UP(ParallelWeakAndSearch::createArrayWand(terms,
@@ -143,8 +156,11 @@ struct VespaParallelArrayWandFactory : public VespaParallelWandFactory {
}
};
+VespaParallelArrayWandFactory::~VespaParallelArrayWandFactory() = default;
+
struct VespaParallelHeapWandFactory : public VespaParallelWandFactory {
VespaParallelHeapWandFactory(uint32_t n) : VespaParallelWandFactory(n) {}
+ ~VespaParallelHeapWandFactory() override;
virtual std::string name() const override { return make_string("VESPA HEAP PWAND (n=%u)", scores.getScoresToTrack()); }
virtual SearchIterator::UP create(const wand::Terms &terms) override {
return SearchIterator::UP(ParallelWeakAndSearch::createHeapWand(terms,
@@ -153,29 +169,38 @@ struct VespaParallelHeapWandFactory : public VespaParallelWandFactory {
}
};
+VespaParallelHeapWandFactory::~VespaParallelHeapWandFactory() = default;
+
struct TermFrequencyRiseWandFactory : WandFactory {
uint32_t n;
TermFrequencyRiseWandFactory(uint32_t n_in) : n(n_in) {}
+ ~TermFrequencyRiseWandFactory() override;
virtual std::string name() const override { return make_string("RISE WAND TF (n=%u)", n); }
virtual SearchIterator::UP create(const wand::Terms &terms) override {
return SearchIterator::UP(new rise::TermFrequencyRiseWand(terms, n));
}
};
+TermFrequencyRiseWandFactory::~TermFrequencyRiseWandFactory() = default;
+
struct DotProductRiseWandFactory : WandFactory {
uint32_t n;
DotProductRiseWandFactory(uint32_t n_in) : n(n_in) {}
+ ~DotProductRiseWandFactory() override;
virtual std::string name() const override { return make_string("RISE WAND DP (n=%u)", n); }
virtual SearchIterator::UP create(const wand::Terms &terms) override {
return SearchIterator::UP(new rise::DotProductRiseWand(terms, n));
}
};
+DotProductRiseWandFactory::~DotProductRiseWandFactory() = default;
+
struct FilterFactory : WandFactory {
WandFactory &factory;
Stats stats;
uint32_t n;
FilterFactory(WandFactory &f, uint32_t n_in) : factory(f), n(n_in) {}
+ ~FilterFactory() override;
virtual std::string name() const override { return make_string("Filter (mod=%u) [%s]", n, factory.name().c_str()); }
virtual SearchIterator::UP create(const wand::Terms &terms) override {
AndNotSearch::Children children;
@@ -185,6 +210,8 @@ struct FilterFactory : WandFactory {
}
};
+FilterFactory::~FilterFactory() = default;
+
struct Setup {
Stats stats;
vespalib::duration minTime;
@@ -223,6 +250,7 @@ struct WandSetup : Setup {
uint32_t weight;
MatchData::UP matchData;
WandSetup(WandFactory &f, uint32_t c, uint32_t l) : Setup(), factory(f), childCnt(c), limit(l), weight(100), matchData() {}
+ ~WandSetup() override;
virtual std::string name() const override {
return make_string("Wand Setup (terms=%u,docs=%u) [%s]", childCnt, limit, factory.name().c_str());
}
@@ -242,4 +270,6 @@ struct WandSetup : Setup {
}
};
+WandSetup::~WandSetup() = default;
+
} // namespace <unnamed>