diff options
Diffstat (limited to 'src/plugins/qnx/qnxdevicetester.cpp')
-rw-r--r-- | src/plugins/qnx/qnxdevicetester.cpp | 83 |
1 files changed, 31 insertions, 52 deletions
diff --git a/src/plugins/qnx/qnxdevicetester.cpp b/src/plugins/qnx/qnxdevicetester.cpp index fa60bfe69b6..cbead1aa3d6 100644 --- a/src/plugins/qnx/qnxdevicetester.cpp +++ b/src/plugins/qnx/qnxdevicetester.cpp @@ -4,87 +4,66 @@ #include "qnxdevicetester.h" #include "qnxconstants.h" -#include "qnxdevice.h" #include "qnxtr.h" -#include <utils/qtcassert.h> -#include <utils/qtcprocess.h> +#include <utils/process.h> using namespace Utils; namespace Qnx::Internal { QnxDeviceTester::QnxDeviceTester(QObject *parent) - : ProjectExplorer::DeviceTester(parent) -{ - m_genericTester = new RemoteLinux::GenericLinuxDeviceTester(this); - connect(m_genericTester, &DeviceTester::progressMessage, - this, &DeviceTester::progressMessage); - connect(m_genericTester, &DeviceTester::errorMessage, - this, &DeviceTester::errorMessage); - connect(m_genericTester, &DeviceTester::finished, - this, &QnxDeviceTester::finished); -} + : RemoteLinux::GenericLinuxDeviceTester(parent) +{} -static QStringList versionSpecificCommandsToTest(int versionNumber) +void QnxDeviceTester::testDevice(const ProjectExplorer::IDevice::Ptr &device) { - if (versionNumber > 0x060500) - return {"slog2info"}; - return {}; -} + static const QStringList commandsToTest { + "awk", + "cat", + "cut", + "df", + "grep", + "kill", + "netstat", + "mkdir", + "print", + "printf", + "pidin", + "read", + "rm", + "sed", + "sleep", + "tail", + "uname", + "slog2info" + }; -void QnxDeviceTester::testDevice(const ProjectExplorer::IDevice::Ptr &deviceConfiguration) -{ - static const QStringList s_commandsToTest = {"awk", - "cat", - "cut", - "df", - "grep", - "kill", - "netstat", - "mkdir", - "print", - "printf", - "pidin", - "read", - "rm", - "sed", - "sleep", - "tail", - "uname"}; - m_deviceConfiguration = deviceConfiguration; - QnxDevice::ConstPtr qnxDevice = m_deviceConfiguration.dynamicCast<const QnxDevice>(); - m_genericTester->setExtraCommandsToTest( - s_commandsToTest + versionSpecificCommandsToTest(qnxDevice->qnxVersion())); + setExtraCommandsToTest(commandsToTest); using namespace Tasking; - auto setupHandler = [this](QtcProcess &process) { + auto setupHandler = [device, this](Process &process) { emit progressMessage(Tr::tr("Checking that files can be created in %1...") .arg(Constants::QNX_TMP_DIR)); const QString pidFile = QString("%1/qtc_xxxx.pid").arg(Constants::QNX_TMP_DIR); - const CommandLine cmd(m_deviceConfiguration->filePath("/bin/sh"), + const CommandLine cmd(device->filePath("/bin/sh"), {"-c", QLatin1String("rm %1 > /dev/null 2>&1; echo ABC > %1 && rm %1").arg(pidFile)}); process.setCommand(cmd); }; - auto doneHandler = [this](const QtcProcess &) { + auto doneHandler = [this](const Process &) { emit progressMessage(Tr::tr("Files can be created in /var/run.") + '\n'); }; - auto errorHandler = [this](const QtcProcess &process) { + auto errorHandler = [this](const Process &process) { const QString message = process.result() == ProcessResult::StartFailed ? Tr::tr("An error occurred while checking that files can be created in %1.") .arg(Constants::QNX_TMP_DIR) + '\n' + process.errorString() : Tr::tr("Files cannot be created in %1.").arg(Constants::QNX_TMP_DIR); emit errorMessage(message + '\n'); }; - m_genericTester->setExtraTests({Process(setupHandler, doneHandler, errorHandler)}); - - m_genericTester->testDevice(deviceConfiguration); -} + setExtraTests({ProcessTask(setupHandler, doneHandler, errorHandler)}); -void QnxDeviceTester::stopTest() -{ - m_genericTester->stopTest(); + RemoteLinux::GenericLinuxDeviceTester::testDevice(device); } } // Qnx::Internal |