summaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton
diff options
context:
space:
mode:
Diffstat (limited to 'searchcore/src/tests/proton')
-rw-r--r--searchcore/src/tests/proton/attribute/exclusive_attribute_read_accessor/exclusive_attribute_read_accessor_test.cpp8
-rw-r--r--searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp10
-rw-r--r--searchcore/src/tests/proton/documentmetastore/lidreusedelayer/CMakeLists.txt1
-rw-r--r--searchcore/src/tests/proton/documentmetastore/lidreusedelayer/lidreusedelayer_test.cpp52
-rw-r--r--searchcore/src/tests/proton/feed_and_search/feed_and_search.cpp8
-rw-r--r--searchcore/src/tests/proton/index/indexmanager_test.cpp15
-rw-r--r--searchcore/src/tests/proton/reference/document_db_reference_resolver/document_db_reference_resolver_test.cpp35
-rw-r--r--searchcore/src/tests/proton/reference/gid_to_lid_change_listener/gid_to_lid_change_listener_test.cpp6
8 files changed, 59 insertions, 76 deletions
diff --git a/searchcore/src/tests/proton/attribute/exclusive_attribute_read_accessor/exclusive_attribute_read_accessor_test.cpp b/searchcore/src/tests/proton/attribute/exclusive_attribute_read_accessor/exclusive_attribute_read_accessor_test.cpp
index 420e18db5af..d2eba28bc9b 100644
--- a/searchcore/src/tests/proton/attribute/exclusive_attribute_read_accessor/exclusive_attribute_read_accessor_test.cpp
+++ b/searchcore/src/tests/proton/attribute/exclusive_attribute_read_accessor/exclusive_attribute_read_accessor_test.cpp
@@ -24,13 +24,13 @@ createAttribute()
struct Fixture
{
AttributeVector::SP attribute;
- SequencedTaskExecutor writer;
+ std::unique_ptr<ISequencedTaskExecutor> writer;
ExclusiveAttributeReadAccessor accessor;
Fixture()
: attribute(createAttribute()),
- writer(1),
- accessor(attribute, writer)
+ writer(SequencedTaskExecutor::create(1)),
+ accessor(attribute, *writer)
{}
};
@@ -38,7 +38,7 @@ TEST_F("require that attribute write thread is blocked while guard is held", Fix
{
ReadGuard::UP guard = f.accessor.takeGuard();
Gate gate;
- f.writer.execute(f.writer.getExecutorId(f.attribute->getNamePrefix()), [&gate]() { gate.countDown(); });
+ f.writer->execute(f.writer->getExecutorId(f.attribute->getNamePrefix()), [&gate]() { gate.countDown(); });
bool reachedZero = gate.await(100);
EXPECT_FALSE(reachedZero);
EXPECT_EQUAL(1u, gate.getCount());
diff --git a/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp b/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
index f380ce03152..6a6b05be7f0 100644
--- a/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
@@ -692,15 +692,15 @@ struct FixtureBase
FixtureBase::FixtureBase(vespalib::duration visibilityDelay)
: _tracer(),
sc(),
- iw(new MyIndexWriter(_tracer)),
- sa(new MySummaryAdapter(*sc._builder->getDocumentTypeRepo())),
- aw(new MyAttributeWriter(_tracer)),
+ iw(std::make_shared<MyIndexWriter>(_tracer)),
+ sa(std::make_shared<MySummaryAdapter>(*sc._builder->getDocumentTypeRepo())),
+ aw(std::make_shared<MyAttributeWriter>(_tracer)),
miw(static_cast<MyIndexWriter&>(*iw)),
msa(static_cast<MySummaryAdapter&>(*sa)),
maw(static_cast<MyAttributeWriter&>(*aw)),
_docIdLimit(0u),
- _dmscReal(new DocumentMetaStoreContext(std::make_shared<BucketDBOwner>())),
- _dmsc(new test::DocumentMetaStoreContextObserver(*_dmscReal)),
+ _dmscReal(std::make_shared<DocumentMetaStoreContext>(std::make_shared<BucketDBOwner>())),
+ _dmsc(std::make_shared<test::DocumentMetaStoreContextObserver>(*_dmscReal)),
pc(sc._builder->getDocumentType().getName(), "fileconfig_test"),
_sharedExecutor(1, 0x10000),
_writeServiceReal(_sharedExecutor),
diff --git a/searchcore/src/tests/proton/documentmetastore/lidreusedelayer/CMakeLists.txt b/searchcore/src/tests/proton/documentmetastore/lidreusedelayer/CMakeLists.txt
index 0d226268d1a..49f929e0127 100644
--- a/searchcore/src/tests/proton/documentmetastore/lidreusedelayer/CMakeLists.txt
+++ b/searchcore/src/tests/proton/documentmetastore/lidreusedelayer/CMakeLists.txt
@@ -5,5 +5,6 @@ vespa_add_executable(searchcore_lidreusedelayer_test_app TEST
DEPENDS
searchcore_server
searchcore_documentmetastore
+ searchcore_test
)
vespa_add_test(NAME searchcore_lidreusedelayer_test_app COMMAND searchcore_lidreusedelayer_test_app)
diff --git a/searchcore/src/tests/proton/documentmetastore/lidreusedelayer/lidreusedelayer_test.cpp b/searchcore/src/tests/proton/documentmetastore/lidreusedelayer/lidreusedelayer_test.cpp
index d305751f7c2..25668f56753 100644
--- a/searchcore/src/tests/proton/documentmetastore/lidreusedelayer/lidreusedelayer_test.cpp
+++ b/searchcore/src/tests/proton/documentmetastore/lidreusedelayer/lidreusedelayer_test.cpp
@@ -1,6 +1,5 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/log/log.h>
-LOG_SETUP("lidreusedelayer_test");
+
#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/searchcore/proton/documentmetastore/i_store.h>
#include <vespa/searchcore/proton/documentmetastore/lidreusedelayer.h>
@@ -9,12 +8,14 @@ LOG_SETUP("lidreusedelayer_test");
#include <vespa/searchcore/proton/test/threading_service_observer.h>
#include <vespa/vespalib/util/lambdatask.h>
+#include <vespa/log/log.h>
+LOG_SETUP("lidreusedelayer_test");
+
using vespalib::makeLambdaTask;
namespace proton {
-namespace
-{
+namespace {
bool
assertThreadObserver(uint32_t masterExecuteCnt,
@@ -55,69 +56,52 @@ public:
{
}
- virtual ~MyMetaStore() { }
+ ~MyMetaStore() override = default;
- virtual Result inspectExisting(const GlobalId &) const override
- {
+ Result inspectExisting(const GlobalId &) const override {
return Result();
}
- virtual Result inspect(const GlobalId &) override
- {
+ Result inspect(const GlobalId &) override {
return Result();
}
- virtual Result put(const GlobalId &, const BucketId &, const Timestamp &,
- uint32_t, DocId) override
- {
+ Result put(const GlobalId &, const BucketId &, const Timestamp &, uint32_t, DocId) override {
return Result();
}
- virtual bool updateMetaData(DocId, const BucketId &,
- const Timestamp &) override
- {
+ bool updateMetaData(DocId, const BucketId &, const Timestamp &) override {
return true;
}
- virtual bool remove(DocId) override
- {
+ bool remove(DocId) override {
return true;
}
- virtual void removeComplete(DocId) override
- {
+ void removeComplete(DocId) override {
++_removeCompleteCount;
++_removeCompleteLids;
}
- virtual void move(DocId, DocId) override
- {
+ void move(DocId, DocId) override {
}
- virtual bool validLid(DocId) const override
- {
+ bool validLid(DocId) const override {
return true;
}
- virtual void removeBatch(const std::vector<DocId> &,
- const DocId) override
- {
- }
+ void removeBatch(const std::vector<DocId> &, const DocId) override {}
- virtual void
- removeBatchComplete(const std::vector<DocId> &lidsToRemove) override
- {
+ void removeBatchComplete(const std::vector<DocId> &lidsToRemove) override{
++_removeBatchCompleteCount;
_removeCompleteLids += lidsToRemove.size();
}
- virtual const RawDocumentMetaData &getRawMetaData(DocId) const override
- {
+ const RawDocumentMetaData &getRawMetaData(DocId) const override {
LOG_ABORT("should not be reached");
}
- virtual bool getFreeListActive() const override
- {
+ bool getFreeListActive() const override {
return _freeListActive;
}
diff --git a/searchcore/src/tests/proton/feed_and_search/feed_and_search.cpp b/searchcore/src/tests/proton/feed_and_search/feed_and_search.cpp
index ca45108b698..991cb2e519d 100644
--- a/searchcore/src/tests/proton/feed_and_search/feed_and_search.cpp
+++ b/searchcore/src/tests/proton/feed_and_search/feed_and_search.cpp
@@ -149,9 +149,9 @@ void Test::testSearch(Searchable &source,
void Test::requireThatMemoryIndexCanBeDumpedAndSearched() {
Schema schema = getSchema();
vespalib::ThreadStackExecutor sharedExecutor(2, 0x10000);
- search::SequencedTaskExecutor indexFieldInverter(2);
- search::SequencedTaskExecutor indexFieldWriter(2);
- MemoryIndex memory_index(schema, MockFieldLengthInspector(), indexFieldInverter, indexFieldWriter);
+ auto indexFieldInverter = search::SequencedTaskExecutor::create(2);
+ auto indexFieldWriter = search::SequencedTaskExecutor::create(2);
+ MemoryIndex memory_index(schema, MockFieldLengthInspector(), *indexFieldInverter, *indexFieldWriter);
DocBuilder doc_builder(schema);
Document::UP doc = buildDocument(doc_builder, doc_id1, word1);
@@ -160,7 +160,7 @@ void Test::requireThatMemoryIndexCanBeDumpedAndSearched() {
doc = buildDocument(doc_builder, doc_id2, word2);
memory_index.insertDocument(doc_id2, *doc.get());
memory_index.commit(std::shared_ptr<search::IDestructorCallback>());
- indexFieldWriter.sync();
+ indexFieldWriter->sync();
testSearch(memory_index, word1, doc_id1);
testSearch(memory_index, word2, doc_id2);
diff --git a/searchcore/src/tests/proton/index/indexmanager_test.cpp b/searchcore/src/tests/proton/index/indexmanager_test.cpp
index 7542ef24c52..264cf6d8cfa 100644
--- a/searchcore/src/tests/proton/index/indexmanager_test.cpp
+++ b/searchcore/src/tests/proton/index/indexmanager_test.cpp
@@ -379,10 +379,9 @@ TEST_F(IndexManagerTest, require_that_flush_stats_are_calculated)
{
Schema schema(getSchema());
FieldIndexCollection fic(schema, MockFieldLengthInspector());
- SequencedTaskExecutor invertThreads(2);
- SequencedTaskExecutor pushThreads(2);
- search::memoryindex::DocumentInverter inverter(schema, invertThreads,
- pushThreads, fic);
+ auto invertThreads = SequencedTaskExecutor::create(2);
+ auto pushThreads = SequencedTaskExecutor::create(2);
+ search::memoryindex::DocumentInverter inverter(schema, *invertThreads, *pushThreads, fic);
uint64_t fixed_index_size = fic.getMemoryUsage().allocatedBytes();
uint64_t index_size = fic.getMemoryUsage().allocatedBytes() - fixed_index_size;
@@ -395,9 +394,9 @@ TEST_F(IndexManagerTest, require_that_flush_stats_are_calculated)
Document::UP doc = addDocument(docid);
inverter.invertDocument(docid, *doc);
- invertThreads.sync();
+ invertThreads->sync();
inverter.pushDocuments(std::shared_ptr<search::IDestructorCallback>());
- pushThreads.sync();
+ pushThreads->sync();
index_size = fic.getMemoryUsage().allocatedBytes() - fixed_index_size;
/// Must account for both docid 0 being reserved and the extra after.
@@ -414,9 +413,9 @@ TEST_F(IndexManagerTest, require_that_flush_stats_are_calculated)
inverter.invertDocument(docid + 10, *doc);
doc = addDocument(docid + 100);
inverter.invertDocument(docid + 100, *doc);
- invertThreads.sync();
+ invertThreads->sync();
inverter.pushDocuments(std::shared_ptr<search::IDestructorCallback>());
- pushThreads.sync();
+ pushThreads->sync();
index_size = fic.getMemoryUsage().allocatedBytes() - fixed_index_size;
/// Must account for both docid 0 being reserved and the extra after.
selector_size = (docid + 100 + 1) * sizeof(Source);
diff --git a/searchcore/src/tests/proton/reference/document_db_reference_resolver/document_db_reference_resolver_test.cpp b/searchcore/src/tests/proton/reference/document_db_reference_resolver/document_db_reference_resolver_test.cpp
index b77d9b3f5ab..02e9f3e8687 100644
--- a/searchcore/src/tests/proton/reference/document_db_reference_resolver/document_db_reference_resolver_test.cpp
+++ b/searchcore/src/tests/proton/reference/document_db_reference_resolver/document_db_reference_resolver_test.cpp
@@ -42,7 +42,7 @@ const ReferenceAttribute *getReferenceAttribute(const IGidToLidChangeListener &l
struct MyGidToLidMapperFactory : public IGidToLidMapperFactory {
using SP = std::shared_ptr<MyGidToLidMapperFactory>;
- virtual std::unique_ptr<IGidToLidMapper> getMapper() const override {
+ std::unique_ptr<IGidToLidMapper> getMapper() const override {
return std::unique_ptr<IGidToLidMapper>();
}
};
@@ -60,14 +60,14 @@ struct MyDocumentDBReference : public MockDocumentDBReference {
MyDocumentDBReference(MyGidToLidMapperFactory::SP factory_,
std::shared_ptr<MockGidToLidChangeHandler> gidToLidChangeHandler)
- : factory(factory_),
+ : factory(std::move(factory_)),
_gidToLidChangeHandler(std::move(gidToLidChangeHandler))
{
}
- virtual IGidToLidMapperFactory::SP getGidToLidMapperFactory() override {
+ IGidToLidMapperFactory::SP getGidToLidMapperFactory() override {
return factory;
}
- virtual std::shared_ptr<search::attribute::ReadableAttributeVector> getAttribute(vespalib::stringref name) override {
+ std::shared_ptr<search::attribute::ReadableAttributeVector> getAttribute(vespalib::stringref name) override {
auto itr = attributes.find(name);
if (itr != attributes.end()) {
return itr->second;
@@ -78,7 +78,7 @@ struct MyDocumentDBReference : public MockDocumentDBReference {
void addIntAttribute(vespalib::stringref name) {
attributes[name] = AttributeFactory::createAttribute(name, Config(BasicType::INT32));
}
- virtual std::unique_ptr<GidToLidChangeRegistrator> makeGidToLidChangeRegistrator(const vespalib::string &docTypeName) override {
+ std::unique_ptr<GidToLidChangeRegistrator> makeGidToLidChangeRegistrator(const vespalib::string &docTypeName) override {
return std::make_unique<GidToLidChangeRegistrator>(_gidToLidChangeHandler, docTypeName);
}
@@ -93,12 +93,12 @@ struct MyDocumentDBReference : public MockDocumentDBReference {
struct MyReferenceRegistry : public IDocumentDBReferenceRegistry {
using ReferenceMap = std::map<vespalib::string, IDocumentDBReference::SP>;
ReferenceMap map;
- virtual IDocumentDBReference::SP get(vespalib::stringref name) const override {
+ IDocumentDBReference::SP get(vespalib::stringref name) const override {
auto itr = map.find(name);
ASSERT_TRUE(itr != map.end());
return itr->second;
}
- virtual IDocumentDBReference::SP tryGet(vespalib::stringref name) const override {
+ IDocumentDBReference::SP tryGet(vespalib::stringref name) const override {
auto itr = map.find(name);
if (itr != map.end()) {
return itr->second;
@@ -106,10 +106,10 @@ struct MyReferenceRegistry : public IDocumentDBReferenceRegistry {
return IDocumentDBReference::SP();
}
}
- virtual void add(vespalib::stringref name, IDocumentDBReference::SP reference) override {
+ void add(vespalib::stringref name, IDocumentDBReference::SP reference) override {
map[name] = reference;
}
- virtual void remove(vespalib::stringref) override {}
+ void remove(vespalib::stringref) override {}
};
struct MyAttributeManager : public MockAttributeManager {
@@ -121,7 +121,7 @@ struct MyAttributeManager : public MockAttributeManager {
}
const ReferenceAttribute *getReferenceAttribute(const vespalib::string &name) const {
AttributeGuard::UP guard = getAttribute(name);
- const ReferenceAttribute *result = dynamic_cast<const ReferenceAttribute *>(guard->get());
+ auto *result = dynamic_cast<const ReferenceAttribute *>(guard->get());
ASSERT_TRUE(result != nullptr);
return result;
}
@@ -155,8 +155,7 @@ struct DocumentModel {
}
};
-DocumentModel::~DocumentModel() {
-}
+DocumentModel::~DocumentModel() = default;
void
set(const vespalib::string &name,
@@ -182,7 +181,7 @@ createImportedFieldsConfig()
const ImportedAttributeVector &
asImportedAttribute(const IAttributeVector &attr)
{
- const ImportedAttributeVector *result = dynamic_cast<const ImportedAttributeVector *>(&attr);
+ auto *result = dynamic_cast<const ImportedAttributeVector *>(&attr);
ASSERT_TRUE(result != nullptr);
return *result;
}
@@ -199,7 +198,7 @@ struct Fixture {
MyAttributeManager oldAttrMgr;
DocumentModel docModel;
ImportedFieldsConfig importedFieldsCfg;
- SequencedTaskExecutor _attributeFieldWriter;
+ std::unique_ptr<ISequencedTaskExecutor> _attributeFieldWriter;
Fixture() :
factory(std::make_shared<MyGidToLidMapperFactory>()),
_gidToLidChangeListenerRefCount(),
@@ -211,7 +210,7 @@ struct Fixture {
attrMgr(),
docModel(),
importedFieldsCfg(createImportedFieldsConfig()),
- _attributeFieldWriter(1)
+ _attributeFieldWriter(SequencedTaskExecutor::create(1))
{
registry.add("parent", parentReference);
@@ -231,7 +230,7 @@ struct Fixture {
oldAttrMgr.addReferenceAttribute("parent3_ref");
}
ImportedAttributesRepo::UP resolve(vespalib::duration visibilityDelay, bool useReferences) {
- DocumentDBReferenceResolver resolver(registry, docModel.childDocType, importedFieldsCfg, docModel.childDocType, _gidToLidChangeListenerRefCount, _attributeFieldWriter, useReferences);
+ DocumentDBReferenceResolver resolver(registry, docModel.childDocType, importedFieldsCfg, docModel.childDocType, _gidToLidChangeListenerRefCount, *_attributeFieldWriter, useReferences);
return resolver.resolve(attrMgr, oldAttrMgr, std::shared_ptr<search::IDocumentMetaStoreContext>(), visibilityDelay);
}
ImportedAttributesRepo::UP resolve(vespalib::duration visibilityDelay) {
@@ -244,7 +243,7 @@ struct Fixture {
return resolve(vespalib::duration::zero());
}
void teardown() {
- DocumentDBReferenceResolver resolver(registry, docModel.childDocType, importedFieldsCfg, docModel.childDocType, _gidToLidChangeListenerRefCount, _attributeFieldWriter, false);
+ DocumentDBReferenceResolver resolver(registry, docModel.childDocType, importedFieldsCfg, docModel.childDocType, _gidToLidChangeListenerRefCount, *_attributeFieldWriter, false);
resolver.teardown(attrMgr);
}
const IGidToLidMapperFactory *getMapperFactoryPtr(const vespalib::string &attrName) {
@@ -254,7 +253,7 @@ struct Fixture {
const vespalib::string &referenceField,
const vespalib::string &targetField,
bool useSearchCache,
- ImportedAttributeVector::SP attr) {
+ const ImportedAttributeVector::SP & attr) {
ASSERT_TRUE(attr.get());
EXPECT_EQUAL(name, attr->getName());
EXPECT_EQUAL(attrMgr.getReferenceAttribute(referenceField), attr->getReferenceAttribute().get());
diff --git a/searchcore/src/tests/proton/reference/gid_to_lid_change_listener/gid_to_lid_change_listener_test.cpp b/searchcore/src/tests/proton/reference/gid_to_lid_change_listener/gid_to_lid_change_listener_test.cpp
index 159ce17ef45..a023ff175d6 100644
--- a/searchcore/src/tests/proton/reference/gid_to_lid_change_listener/gid_to_lid_change_listener_test.cpp
+++ b/searchcore/src/tests/proton/reference/gid_to_lid_change_listener/gid_to_lid_change_listener_test.cpp
@@ -49,13 +49,13 @@ struct MyGidToLidMapperFactory : public MockGidToLidMapperFactory
struct Fixture
{
std::shared_ptr<ReferenceAttribute> _attr;
- search::SequencedTaskExecutor _writer;
+ std::unique_ptr<search::ISequencedTaskExecutor> _writer;
MonitoredRefCount _refCount;
std::unique_ptr<GidToLidChangeListener> _listener;
Fixture()
: _attr(std::make_shared<ReferenceAttribute>("test", Config(BasicType::REFERENCE))),
- _writer(1),
+ _writer(search::SequencedTaskExecutor::create(1)),
_refCount(),
_listener()
{
@@ -91,7 +91,7 @@ struct Fixture
}
void allocListener() {
- _listener = std::make_unique<GidToLidChangeListener>(_writer, _attr, _refCount, "test", "testdoc");
+ _listener = std::make_unique<GidToLidChangeListener>(*_writer, _attr, _refCount, "test", "testdoc");
}
void notifyPutDone(const GlobalId &gid, uint32_t referencedDoc) {