From 5c542cfe9ea325ea730a3239ed7994f14ab5511b Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Sat, 18 Mar 2017 17:54:24 +0100 Subject: Removed tests that we no longer use --- tests/CMakeLists.txt | 4 - tests/genericfacadetest.cpp | 154 --------------------------- tests/genericresourcebenchmark.cpp | 209 ------------------------------------- tests/genericresourcetest.cpp | 85 --------------- 4 files changed, 452 deletions(-) delete mode 100644 tests/genericfacadetest.cpp delete mode 100644 tests/genericresourcebenchmark.cpp delete mode 100644 tests/genericresourcetest.cpp (limited to 'tests') diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index a69fcb3..7144d41 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -21,10 +21,8 @@ include(SinkTest) manual_tests ( storagebenchmark dummyresourcebenchmark -# genericresourcebenchmark mailquerybenchmark pipelinebenchmark -# genericfacadebenchmark ) auto_tests ( @@ -35,8 +33,6 @@ auto_tests ( domainadaptortest messagequeuetest indextest - # genericresourcetest - # genericfacadetest resourcecommunicationtest pipelinetest querytest diff --git a/tests/genericfacadetest.cpp b/tests/genericfacadetest.cpp deleted file mode 100644 index 0267dac..0000000 --- a/tests/genericfacadetest.cpp +++ /dev/null @@ -1,154 +0,0 @@ -#include - -#include - -#include "testimplementations.h" - -#include -#include -#include -#include -#include - -// Replace with something different -#include "event_generated.h" - - -/** - * Test for the generic facade implementation. - * - * This test doesn't use the actual storage and thus only tests the update logic of the facade. - * //FIXME this now uses the actual storage - */ -class GenericFacadeTest : public QObject -{ - Q_OBJECT -private slots: - void initTestCase() - { - Sink::Test::initTest(); - } - - void testLoad() - { - Sink::Query query; - query.liveQuery = false; - - auto resultSet = QSharedPointer>::create(); - auto resourceAccess = QSharedPointer::create(); - // storage->mResults << Sink::ApplicationDomain::Event::Ptr::create(); - TestResourceFacade facade("identifier", resourceAccess); - - async::SyncListResult result(resultSet->emitter()); - - facade.load(query, *resultSet).exec().waitForFinished(); - resultSet->initialResultSetComplete(); - - // We have to wait for the events that deliver the results to be processed by the eventloop - result.exec(); - - QCOMPARE(result.size(), 1); - } - - void testLiveQuery() - { - Sink::Query query; - query.liveQuery = true; - - auto resultSet = QSharedPointer>::create(); - auto resourceAccess = QSharedPointer::create(); - // storage->mResults << Sink::ApplicationDomain::Event::Ptr::create(); - TestResourceFacade facade("identifier", resourceAccess); - - async::SyncListResult result(resultSet->emitter()); - - facade.load(query, *resultSet).exec().waitForFinished(); - resultSet->initialResultSetComplete(); - - result.exec(); - QCOMPARE(result.size(), 1); - - // Enter a second result - // storage->mResults.clear(); - // storage->mResults << QSharedPointer::create("resource", "id2", 0, QSharedPointer()); - // storage->mLatestRevision = 2; - resourceAccess->emit revisionChanged(2); - - // Hack to get event loop in synclistresult to abort again - resultSet->initialResultSetComplete(); - result.exec(); - - QCOMPARE(result.size(), 2); - } - - void testLiveQueryModify() - { - Sink::Query query; - query.liveQuery = true; - - auto resultSet = QSharedPointer>::create(); - auto resourceAccess = QSharedPointer::create(); - auto entity = QSharedPointer::create("resource", "id2", 0, QSharedPointer::create()); - entity->setProperty("test", "test1"); - // storage->mResults << entity; - TestResourceFacade facade("identifier", resourceAccess); - - async::SyncListResult result(resultSet->emitter()); - - facade.load(query, *resultSet).exec().waitForFinished(); - resultSet->initialResultSetComplete(); - - result.exec(); - QCOMPARE(result.size(), 1); - - // Modify the entity again - // storage->mResults.clear(); - entity = QSharedPointer::create("resource", "id2", 0, QSharedPointer::create()); - entity->setProperty("test", "test2"); - // storage->mModifications << entity; - // storage->mLatestRevision = 2; - resourceAccess->emit revisionChanged(2); - - // Hack to get event loop in synclistresult to abort again - resultSet->initialResultSetComplete(); - result.exec(); - - QCOMPARE(result.size(), 1); - QCOMPARE(result.first()->getProperty("test").toByteArray(), QByteArray("test2")); - } - - void testLiveQueryRemove() - { - Sink::Query query; - query.liveQuery = true; - - auto resultSet = QSharedPointer>::create(); - auto resourceAccess = QSharedPointer::create(); - auto entity = QSharedPointer::create("resource", "id2", 0, QSharedPointer()); - // storage->mResults << entity; - TestResourceFacade facade("identifier", resourceAccess); - - async::SyncListResult result(resultSet->emitter()); - - facade.load(query, *resultSet).exec().waitForFinished(); - resultSet->initialResultSetComplete(); - - result.exec(); - QCOMPARE(result.size(), 1); - - // Remove the entity again - // storage->mResults.clear(); - // storage->mRemovals << entity; - // storage->mLatestRevision = 2; - resourceAccess->emit revisionChanged(2); - - // Hack to get event loop in synclistresult to abort again - resultSet->initialResultSetComplete(); - result.exec(); - - QCOMPARE(result.size(), 0); - } -}; - -QTEST_MAIN(GenericFacadeTest) -#include "genericfacadetest.moc" diff --git a/tests/genericresourcebenchmark.cpp b/tests/genericresourcebenchmark.cpp deleted file mode 100644 index 2315d0b..0000000 --- a/tests/genericresourcebenchmark.cpp +++ /dev/null @@ -1,209 +0,0 @@ -#include - -#include - -#include "testimplementations.h" - -#include "event_generated.h" -#include "createentity_generated.h" -#include "commands.h" -#include "entitybuffer.h" -#include "pipeline.h" -#include "genericresource.h" -#include "definitions.h" -#include "domainadaptor.h" -#include "index.h" - -#include "hawd/dataset.h" -#include "hawd/formatter.h" - - -static void removeFromDisk(const QString &name) -{ - Sink::Storage store(Sink::storageLocation(), name, Sink::Storage::ReadWrite); - store.removeFromDisk(); -} - -static QByteArray createEntityBuffer() -{ - flatbuffers::FlatBufferBuilder eventFbb; - eventFbb.Clear(); - { - auto summary = eventFbb.CreateString("summary"); - Sink::ApplicationDomain::Buffer::EventBuilder eventBuilder(eventFbb); - eventBuilder.add_summary(summary); - auto eventLocation = eventBuilder.Finish(); - Sink::ApplicationDomain::Buffer::FinishEventBuffer(eventFbb, eventLocation); - } - - flatbuffers::FlatBufferBuilder localFbb; - { - auto uid = localFbb.CreateString("testuid"); - auto localBuilder = Sink::ApplicationDomain::Buffer::EventBuilder(localFbb); - localBuilder.add_uid(uid); - auto location = localBuilder.Finish(); - Sink::ApplicationDomain::Buffer::FinishEventBuffer(localFbb, location); - } - - flatbuffers::FlatBufferBuilder entityFbb; - Sink::EntityBuffer::assembleEntityBuffer(entityFbb, 0, 0, eventFbb.GetBufferPointer(), eventFbb.GetSize(), localFbb.GetBufferPointer(), localFbb.GetSize()); - - flatbuffers::FlatBufferBuilder fbb; - auto type = fbb.CreateString(Sink::ApplicationDomain::getTypeName().toStdString().data()); - auto delta = fbb.CreateVector(entityFbb.GetBufferPointer(), entityFbb.GetSize()); - Sink::Commands::CreateEntityBuilder builder(fbb); - builder.add_domainType(type); - builder.add_delta(delta); - auto location = builder.Finish(); - Sink::Commands::FinishCreateEntityBuffer(fbb, location); - - return QByteArray(reinterpret_cast(fbb.GetBufferPointer()), fbb.GetSize()); -} - -class IndexUpdater : public Sink::Preprocessor -{ -public: - void newEntity(const QByteArray &uid, qint64 revision, const Sink::ApplicationDomain::BufferAdaptor &newEntity, Sink::Storage::Transaction &transaction) Q_DECL_OVERRIDE - { - for (int i = 0; i < 10; i++) { - Index ridIndex(QString("index.index%1").arg(i).toLatin1(), transaction); - ridIndex.add("foo", uid); - } - } - - void modifiedEntity(const QByteArray &key, qint64 revision, const Sink::ApplicationDomain::BufferAdaptor &oldEntity, const Sink::ApplicationDomain::BufferAdaptor &newEntity, - Sink::Storage::Transaction &transaction) Q_DECL_OVERRIDE - { - } - - void deletedEntity(const QByteArray &key, qint64 revision, const Sink::ApplicationDomain::BufferAdaptor &oldEntity, Sink::Storage::Transaction &transaction) Q_DECL_OVERRIDE - { - } -}; - -/** - * Benchmark write performance of generic resource implementation including queues and pipeline. - */ -class GenericResourceBenchmark : public QObject -{ - Q_OBJECT -private slots: - - void init() - { - Sink::Log::setDebugOutputLevel(Sink::Log::Warning); - } - - void initTestCase() - { - removeFromDisk("sink.test.instance1"); - removeFromDisk("sink.test.instance1.userqueue"); - removeFromDisk("sink.test.instance1.synchronizerqueue"); - } - - - void testWriteInProcess() - { - int num = 10000; - - auto pipeline = QSharedPointer::create("sink.test.instance1"); - TestResource resource("sink.test.instance1", pipeline); - - auto command = createEntityBuffer(); - - QTime time; - time.start(); - - for (int i = 0; i < num; i++) { - resource.processCommand(Sink::Commands::CreateEntityCommand, command); - } - auto appendTime = time.elapsed(); - - // Wait until all messages have been processed - resource.processAllMessages().exec().waitForFinished(); - - auto allProcessedTime = time.elapsed(); - - // Print memory layout, RSS is what is in memory - // std::system("exec pmap -x \"$PPID\""); - - HAWD::Dataset dataset("generic_write_in_process", m_hawdState); - HAWD::Dataset::Row row = dataset.row(); - - row.setValue("rows", num); - row.setValue("append", (qreal)num / appendTime); - row.setValue("total", (qreal)num / allProcessedTime); - dataset.insertRow(row); - HAWD::Formatter::print(dataset); - } - - void testWriteInProcessWithIndex() - { - int num = 50000; - - auto pipeline = QSharedPointer::create("sink.test.instance1"); - - auto eventFactory = QSharedPointer::create(); - const QByteArray resourceIdentifier = "sink.test.instance1"; - auto indexer = QSharedPointer::create(); - - pipeline->setPreprocessors("event", QVector() << indexer.data()); - pipeline->setAdaptorFactory("event", eventFactory); - - TestResource resource("sink.test.instance1", pipeline); - - auto command = createEntityBuffer(); - - QTime time; - time.start(); - - for (int i = 0; i < num; i++) { - resource.processCommand(Sink::Commands::CreateEntityCommand, command); - } - auto appendTime = time.elapsed(); - - // Wait until all messages have been processed - resource.processAllMessages().exec().waitForFinished(); - - auto allProcessedTime = time.elapsed(); - - // Print memory layout, RSS is what is in memory - // std::system("exec pmap -x \"$PPID\""); - - HAWD::Dataset dataset("generic_write_in_process_with_indexes", m_hawdState); - HAWD::Dataset::Row row = dataset.row(); - - row.setValue("rows", num); - row.setValue("append", (qreal)num / appendTime); - row.setValue("total", (qreal)num / allProcessedTime); - dataset.insertRow(row); - HAWD::Formatter::print(dataset); - } - - void testCreateCommand() - { - Sink::ApplicationDomain::Event event; - - QBENCHMARK { - auto mFactory = new TestEventAdaptorFactory; - static flatbuffers::FlatBufferBuilder entityFbb; - entityFbb.Clear(); - mFactory->createBuffer(event, entityFbb); - - static flatbuffers::FlatBufferBuilder fbb; - fbb.Clear(); - // This is the resource buffer type and not the domain type - auto type = fbb.CreateString("event"); - // auto delta = fbb.CreateVector(entityFbb.GetBufferPointer(), entityFbb.GetSize()); - auto delta = Sink::EntityBuffer::appendAsVector(fbb, entityFbb.GetBufferPointer(), entityFbb.GetSize()); - auto location = Sink::Commands::CreateCreateEntity(fbb, type, delta); - Sink::Commands::FinishCreateEntityBuffer(fbb, location); - } - } - -private: - HAWD::State m_hawdState; -}; - -QTEST_MAIN(GenericResourceBenchmark) -#include "genericresourcebenchmark.moc" diff --git a/tests/genericresourcetest.cpp b/tests/genericresourcetest.cpp deleted file mode 100644 index 77a901d..0000000 --- a/tests/genericresourcetest.cpp +++ /dev/null @@ -1,85 +0,0 @@ -#include - -#include - -#include "testimplementations.h" - -#include "event_generated.h" -#include "entity_generated.h" -#include "metadata_generated.h" -#include "createentity_generated.h" -#include "commands.h" -#include "entitybuffer.h" -#include "pipeline.h" -#include "genericresource.h" -#include "definitions.h" - -/** - * Test of the generic resource implementation. - * - * This test relies on a working pipeline implementation, and writes to storage. - */ -class GenericResourceTest : public QObject -{ - Q_OBJECT -private slots: - - void init() - { - Sink::GenericResource::removeFromDisk("sink.test.instance1"); - } - - /// Ensure the resource can process messages - void testProcessCommand() - { - flatbuffers::FlatBufferBuilder eventFbb; - eventFbb.Clear(); - { - auto summary = eventFbb.CreateString("summary"); - Sink::ApplicationDomain::Buffer::EventBuilder eventBuilder(eventFbb); - eventBuilder.add_summary(summary); - auto eventLocation = eventBuilder.Finish(); - Sink::ApplicationDomain::Buffer::FinishEventBuffer(eventFbb, eventLocation); - } - - flatbuffers::FlatBufferBuilder localFbb; - { - auto uid = localFbb.CreateString("testuid"); - auto localBuilder = Sink::ApplicationDomain::Buffer::EventBuilder(localFbb); - localBuilder.add_uid(uid); - auto location = localBuilder.Finish(); - Sink::ApplicationDomain::Buffer::FinishEventBuffer(localFbb, location); - } - - flatbuffers::FlatBufferBuilder entityFbb; - Sink::EntityBuffer::assembleEntityBuffer(entityFbb, 0, 0, eventFbb.GetBufferPointer(), eventFbb.GetSize(), localFbb.GetBufferPointer(), localFbb.GetSize()); - - flatbuffers::FlatBufferBuilder fbb; - auto type = fbb.CreateString(Sink::ApplicationDomain::getTypeName().toStdString().data()); - auto delta = fbb.CreateVector(entityFbb.GetBufferPointer(), entityFbb.GetSize()); - Sink::Commands::CreateEntityBuilder builder(fbb); - builder.add_domainType(type); - builder.add_delta(delta); - auto location = builder.Finish(); - Sink::Commands::FinishCreateEntityBuffer(fbb, location); - - const QByteArray command(reinterpret_cast(fbb.GetBufferPointer()), fbb.GetSize()); - { - flatbuffers::Verifier verifyer(reinterpret_cast(command.data()), command.size()); - QVERIFY(Sink::Commands::VerifyCreateEntityBuffer(verifyer)); - } - - // Actual test - auto pipeline = QSharedPointer::create("sink.test.instance1"); - QSignalSpy revisionSpy(pipeline.data(), SIGNAL(revisionUpdated(qint64))); - QVERIFY(revisionSpy.isValid()); - TestResource resource("sink.test.instance1", pipeline); - resource.processCommand(Sink::Commands::CreateEntityCommand, command); - resource.processCommand(Sink::Commands::CreateEntityCommand, command); - resource.processAllMessages().exec().waitForFinished(); - QCOMPARE(revisionSpy.last().at(0).toInt(), 2); - } -}; - -QTEST_MAIN(GenericResourceTest) -#include "genericresourcetest.moc" -- cgit v1.2.3