LinuxDeviceTester: Make it possible to add extra tasks

Change-Id: I8e1308aef73a6f81fcff092ba75c1c88479c2207
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Jarek Kobus
2022-11-24 09:22:59 +01:00
parent 658c9f6f06
commit b34fc8a420
2 changed files with 18 additions and 6 deletions

View File

@@ -46,6 +46,7 @@ public:
IDevice::Ptr m_device; IDevice::Ptr m_device;
std::unique_ptr<TaskTree> m_taskTree; std::unique_ptr<TaskTree> m_taskTree;
QStringList m_extraCommands; QStringList m_extraCommands;
QList<TaskItem> m_extraTests;
}; };
const QStringList s_commandsToTest = {"base64", const QStringList s_commandsToTest = {"base64",
@@ -263,6 +264,11 @@ void GenericLinuxDeviceTester::setExtraCommandsToTest(const QStringList &extraCo
d->m_extraCommands = extraCommands; d->m_extraCommands = extraCommands;
} }
void GenericLinuxDeviceTester::setExtraTests(const QList<TaskItem> &extraTests)
{
d->m_extraTests = extraTests;
}
void GenericLinuxDeviceTester::testDevice(const IDevice::Ptr &deviceConfiguration) void GenericLinuxDeviceTester::testDevice(const IDevice::Ptr &deviceConfiguration)
{ {
QTC_ASSERT(!d->m_taskTree, return); QTC_ASSERT(!d->m_taskTree, return);
@@ -274,16 +280,19 @@ void GenericLinuxDeviceTester::testDevice(const IDevice::Ptr &deviceConfiguratio
d->m_taskTree.release()->deleteLater(); d->m_taskTree.release()->deleteLater();
}; };
const Tasking::Group root { QList<TaskItem> taskItems = {
d->echoTask(), d->echoTask(),
d->unameTask(), d->unameTask(),
d->gathererTask(), d->gathererTask(),
d->transferTasks(), d->transferTasks()
d->commandTasks(),
OnGroupDone(std::bind(allFinished, TestSuccess)),
OnGroupError(std::bind(allFinished, TestFailure))
}; };
d->m_taskTree.reset(new TaskTree(root)); if (!d->m_extraTests.isEmpty())
taskItems << Group { d->m_extraTests };
taskItems << d->commandTasks()
<< OnGroupDone(std::bind(allFinished, TestSuccess))
<< OnGroupError(std::bind(allFinished, TestFailure));
d->m_taskTree.reset(new TaskTree(taskItems));
d->m_taskTree->start(); d->m_taskTree->start();
} }

View File

@@ -7,6 +7,8 @@
#include <projectexplorer/devicesupport/idevice.h> #include <projectexplorer/devicesupport/idevice.h>
namespace Utils::Tasking { class TaskItem; }
namespace RemoteLinux { namespace RemoteLinux {
namespace Internal { class GenericLinuxDeviceTesterPrivate; } namespace Internal { class GenericLinuxDeviceTesterPrivate; }
@@ -20,6 +22,7 @@ public:
~GenericLinuxDeviceTester() override; ~GenericLinuxDeviceTester() override;
void setExtraCommandsToTest(const QStringList &extraCommands); void setExtraCommandsToTest(const QStringList &extraCommands);
void setExtraTests(const QList<Utils::Tasking::TaskItem> &extraTests);
void testDevice(const ProjectExplorer::IDevice::Ptr &deviceConfiguration) override; void testDevice(const ProjectExplorer::IDevice::Ptr &deviceConfiguration) override;
void stopTest() override; void stopTest() override;