forked from qt-creator/qt-creator
LinuxDeviceTester: Make it possible to test extra commands
Change-Id: I1920457a4d97bf23865ad6c4842fbdbb40c2db23 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -31,6 +31,8 @@ class GenericLinuxDeviceTesterPrivate
|
|||||||
public:
|
public:
|
||||||
GenericLinuxDeviceTesterPrivate(GenericLinuxDeviceTester *tester) : q(tester) {}
|
GenericLinuxDeviceTesterPrivate(GenericLinuxDeviceTester *tester) : q(tester) {}
|
||||||
|
|
||||||
|
QStringList commandsToTest() const;
|
||||||
|
|
||||||
TaskItem echoTask() const;
|
TaskItem echoTask() const;
|
||||||
TaskItem unameTask() const;
|
TaskItem unameTask() const;
|
||||||
TaskItem gathererTask() const;
|
TaskItem gathererTask() const;
|
||||||
@@ -43,6 +45,7 @@ public:
|
|||||||
GenericLinuxDeviceTester *q = nullptr;
|
GenericLinuxDeviceTester *q = nullptr;
|
||||||
IDevice::Ptr m_device;
|
IDevice::Ptr m_device;
|
||||||
std::unique_ptr<TaskTree> m_taskTree;
|
std::unique_ptr<TaskTree> m_taskTree;
|
||||||
|
QStringList m_extraCommands;
|
||||||
};
|
};
|
||||||
|
|
||||||
const QStringList s_commandsToTest = {"base64",
|
const QStringList s_commandsToTest = {"base64",
|
||||||
@@ -79,6 +82,14 @@ const QStringList s_commandsToTest = {"base64",
|
|||||||
|
|
||||||
static const char s_echoContents[] = "Hello Remote World!";
|
static const char s_echoContents[] = "Hello Remote World!";
|
||||||
|
|
||||||
|
QStringList GenericLinuxDeviceTesterPrivate::commandsToTest() const
|
||||||
|
{
|
||||||
|
QStringList commands = s_commandsToTest + m_extraCommands;
|
||||||
|
commands.removeDuplicates();
|
||||||
|
Utils::sort(commands);
|
||||||
|
return commands;
|
||||||
|
}
|
||||||
|
|
||||||
TaskItem GenericLinuxDeviceTesterPrivate::echoTask() const
|
TaskItem GenericLinuxDeviceTesterPrivate::echoTask() const
|
||||||
{
|
{
|
||||||
const auto setup = [this](QtcProcess &process) {
|
const auto setup = [this](QtcProcess &process) {
|
||||||
@@ -231,7 +242,7 @@ TaskItem GenericLinuxDeviceTesterPrivate::commandTasks() const
|
|||||||
tasks.append(OnGroupSetup([this] {
|
tasks.append(OnGroupSetup([this] {
|
||||||
emit q->progressMessage(Tr::tr("Checking if required commands are available..."));
|
emit q->progressMessage(Tr::tr("Checking if required commands are available..."));
|
||||||
}));
|
}));
|
||||||
for (const QString &commandName : s_commandsToTest)
|
for (const QString &commandName : commandsToTest())
|
||||||
tasks.append(commandTask(commandName));
|
tasks.append(commandTask(commandName));
|
||||||
return Tasking::Group {tasks};
|
return Tasking::Group {tasks};
|
||||||
}
|
}
|
||||||
@@ -247,6 +258,11 @@ GenericLinuxDeviceTester::GenericLinuxDeviceTester(QObject *parent)
|
|||||||
|
|
||||||
GenericLinuxDeviceTester::~GenericLinuxDeviceTester() = default;
|
GenericLinuxDeviceTester::~GenericLinuxDeviceTester() = default;
|
||||||
|
|
||||||
|
void GenericLinuxDeviceTester::setExtraCommandsToTest(const QStringList &extraCommands)
|
||||||
|
{
|
||||||
|
d->m_extraCommands = extraCommands;
|
||||||
|
}
|
||||||
|
|
||||||
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);
|
||||||
|
@@ -19,6 +19,7 @@ public:
|
|||||||
explicit GenericLinuxDeviceTester(QObject *parent = nullptr);
|
explicit GenericLinuxDeviceTester(QObject *parent = nullptr);
|
||||||
~GenericLinuxDeviceTester() override;
|
~GenericLinuxDeviceTester() override;
|
||||||
|
|
||||||
|
void setExtraCommandsToTest(const QStringList &extraCommands);
|
||||||
void testDevice(const ProjectExplorer::IDevice::Ptr &deviceConfiguration) override;
|
void testDevice(const ProjectExplorer::IDevice::Ptr &deviceConfiguration) override;
|
||||||
void stopTest() override;
|
void stopTest() override;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user