From 658c9f6f06a421bf90c357cf1bd5e3b0c8a51b1e Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 24 Nov 2022 08:02:09 +0100 Subject: [PATCH] LinuxDeviceTester: Make it possible to test extra commands Change-Id: I1920457a4d97bf23865ad6c4842fbdbb40c2db23 Reviewed-by: Reviewed-by: hjk Reviewed-by: Qt CI Bot --- src/plugins/remotelinux/linuxdevicetester.cpp | 18 +++++++++++++++++- src/plugins/remotelinux/linuxdevicetester.h | 1 + 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/plugins/remotelinux/linuxdevicetester.cpp b/src/plugins/remotelinux/linuxdevicetester.cpp index e9c3ce04916..f6fd487a50f 100644 --- a/src/plugins/remotelinux/linuxdevicetester.cpp +++ b/src/plugins/remotelinux/linuxdevicetester.cpp @@ -31,6 +31,8 @@ class GenericLinuxDeviceTesterPrivate public: GenericLinuxDeviceTesterPrivate(GenericLinuxDeviceTester *tester) : q(tester) {} + QStringList commandsToTest() const; + TaskItem echoTask() const; TaskItem unameTask() const; TaskItem gathererTask() const; @@ -43,6 +45,7 @@ public: GenericLinuxDeviceTester *q = nullptr; IDevice::Ptr m_device; std::unique_ptr m_taskTree; + QStringList m_extraCommands; }; const QStringList s_commandsToTest = {"base64", @@ -79,6 +82,14 @@ const QStringList s_commandsToTest = {"base64", 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 { const auto setup = [this](QtcProcess &process) { @@ -231,7 +242,7 @@ TaskItem GenericLinuxDeviceTesterPrivate::commandTasks() const tasks.append(OnGroupSetup([this] { 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)); return Tasking::Group {tasks}; } @@ -247,6 +258,11 @@ GenericLinuxDeviceTester::GenericLinuxDeviceTester(QObject *parent) GenericLinuxDeviceTester::~GenericLinuxDeviceTester() = default; +void GenericLinuxDeviceTester::setExtraCommandsToTest(const QStringList &extraCommands) +{ + d->m_extraCommands = extraCommands; +} + void GenericLinuxDeviceTester::testDevice(const IDevice::Ptr &deviceConfiguration) { QTC_ASSERT(!d->m_taskTree, return); diff --git a/src/plugins/remotelinux/linuxdevicetester.h b/src/plugins/remotelinux/linuxdevicetester.h index 958162d6f6b..5f50ae6678b 100644 --- a/src/plugins/remotelinux/linuxdevicetester.h +++ b/src/plugins/remotelinux/linuxdevicetester.h @@ -19,6 +19,7 @@ public: explicit GenericLinuxDeviceTester(QObject *parent = nullptr); ~GenericLinuxDeviceTester() override; + void setExtraCommandsToTest(const QStringList &extraCommands); void testDevice(const ProjectExplorer::IDevice::Ptr &deviceConfiguration) override; void stopTest() override;