diff options
author | hjk <hjk@qt.io> | 2019-07-23 08:30:25 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2019-07-23 14:25:37 +0000 |
commit | b0e52f7ff634e45f325de0e54047acecd73855fa (patch) | |
tree | 93a07e7856cdbe036bf60787b396f122e0f38156 /src/plugins/valgrind | |
parent | 5efa84b91f009213a28d15d7e94c4ea896bd7347 (diff) |
Valgrind: Move to Utils::FilePath in some places
Change-Id: I54d03ccda62121055509fd24c5c98a13f7605964
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/valgrind')
-rw-r--r-- | src/plugins/valgrind/valgrindengine.cpp | 7 | ||||
-rw-r--r-- | src/plugins/valgrind/valgrindmemcheckparsertest.cpp | 11 | ||||
-rw-r--r-- | src/plugins/valgrind/valgrindrunner.cpp | 21 | ||||
-rw-r--r-- | src/plugins/valgrind/valgrindrunner.h | 3 | ||||
-rw-r--r-- | src/plugins/valgrind/valgrindtestrunnertest.cpp | 17 |
5 files changed, 31 insertions, 28 deletions
diff --git a/src/plugins/valgrind/valgrindengine.cpp b/src/plugins/valgrind/valgrindengine.cpp index 258ccde6f10..1918efa797d 100644 --- a/src/plugins/valgrind/valgrindengine.cpp +++ b/src/plugins/valgrind/valgrindengine.cpp @@ -81,8 +81,11 @@ void ValgrindToolRunner::start() emit outputReceived(tr("Command line arguments: %1").arg(runnable().debuggeeArgs), DebugFormat); #endif - m_runner.setValgrindExecutable(m_settings->valgrindExecutable()); - m_runner.setValgrindArguments(genericToolArguments() + toolArguments()); + CommandLine valgrind{FilePath::fromString(m_settings->valgrindExecutable())}; + valgrind.addArgs(genericToolArguments()); + valgrind.addArgs(toolArguments()); + + m_runner.setValgrindCommand(valgrind); m_runner.setDevice(device()); m_runner.setDebuggee(runnable()); diff --git a/src/plugins/valgrind/valgrindmemcheckparsertest.cpp b/src/plugins/valgrind/valgrindmemcheckparsertest.cpp index 5543152ec98..a1e4fbf7fad 100644 --- a/src/plugins/valgrind/valgrindmemcheckparsertest.cpp +++ b/src/plugins/valgrind/valgrindmemcheckparsertest.cpp @@ -477,9 +477,9 @@ void ValgrindMemcheckParserTest::testValgrindGarbage() void ValgrindMemcheckParserTest::testParserStop() { ValgrindRunner runner; - runner.setValgrindExecutable(fakeValgrindExecutable()); - runner.setValgrindArguments({QString("--xml-socket=127.0.0.1:%1").arg(m_server->serverPort()), - "-i", dataFile("memcheck-output-sample1.xml"), "--wait", "5" }); + runner.setValgrindCommand({FilePath::fromString(fakeValgrindExecutable()), + {QString("--xml-socket=127.0.0.1:%1").arg(m_server->serverPort()), + "-i", dataFile("memcheck-output-sample1.xml"), "--wait", "5" }}); runner.setProcessChannelMode(QProcess::ForwardedChannels); runner.setDevice(ProjectExplorer::DeviceManager::instance()->defaultDevice( @@ -502,7 +502,7 @@ void ValgrindMemcheckParserTest::testRealValgrind() debuggee.executable = FilePath::fromString(executable); debuggee.environment = sysEnv; ValgrindRunner runner; - runner.setValgrindExecutable("valgrind"); + runner.setValgrindCommand({FilePath::fromString("valgrind"), {}}); runner.setDebuggee(debuggee); runner.setDevice(ProjectExplorer::DeviceManager::instance()->defaultDevice( ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE)); @@ -541,8 +541,7 @@ void ValgrindMemcheckParserTest::testValgrindStartError() debuggeeExecutable.commandLineArguments = debuggeeArgs; ValgrindRunner runner; - runner.setValgrindExecutable(valgrindExe); - runner.setValgrindArguments(valgrindArgs); + runner.setValgrindCommand({FilePath::fromString(valgrindExe), valgrindArgs}); runner.setDebuggee(debuggeeExecutable); runner.setDevice(ProjectExplorer::DeviceManager::instance()->defaultDevice( ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE)); diff --git a/src/plugins/valgrind/valgrindrunner.cpp b/src/plugins/valgrind/valgrindrunner.cpp index cb4666f9425..2bf5fefde46 100644 --- a/src/plugins/valgrind/valgrindrunner.cpp +++ b/src/plugins/valgrind/valgrindrunner.cpp @@ -63,8 +63,7 @@ public: ApplicationLauncher m_findPID; - QString m_valgrindExecutable; - QStringList m_valgrindArguments; + CommandLine m_valgrindCommand; QHostAddress localServerAddress; QProcess::ProcessChannelMode channelMode = QProcess::SeparateChannels; @@ -82,7 +81,7 @@ public: bool ValgrindRunner::Private::run() { - CommandLine cmd{FilePath::fromString(m_valgrindExecutable)}; + CommandLine cmd{m_valgrindCommand.executable(), {}}; if (!localServerAddress.isNull()) { if (!q->startServers()) @@ -112,7 +111,7 @@ bool ValgrindRunner::Private::run() if (enableXml) cmd.addArg("--xml=yes"); } - cmd.addArgs(m_valgrindArguments); + cmd.addArgs(m_valgrindCommand.arguments(), CommandLine::Raw); m_valgrindProcess.setProcessChannelMode(channelMode); // consider appending our options last so they override any interfering user-supplied options @@ -187,7 +186,8 @@ void ValgrindRunner::Private::remoteProcessStarted() // hence we need to do something more complex... // plain path to exe, m_valgrindExe contains e.g. env vars etc. pp. - const QString proc = m_valgrindExecutable.split(' ').last(); + // FIXME: Really? + const QString proc = m_valgrindCommand.executable().toString().split(' ').last(); Runnable findPid; findPid.executable = FilePath::fromString("/bin/sh"); @@ -227,7 +227,7 @@ void ValgrindRunner::Private::findPidOutputReceived(const QString &out) void ValgrindRunner::Private::closed(bool success) { - Q_UNUSED(success); + Q_UNUSED(success) // QTC_ASSERT(m_remote.m_process, return); // m_remote.m_errorString = m_remote.m_process->errorString(); @@ -263,14 +263,9 @@ ValgrindRunner::~ValgrindRunner() d = nullptr; } -void ValgrindRunner::setValgrindExecutable(const QString &executable) +void ValgrindRunner::setValgrindCommand(const Utils::CommandLine &command) { - d->m_valgrindExecutable = executable; -} - -void ValgrindRunner::setValgrindArguments(const QStringList &toolArguments) -{ - d->m_valgrindArguments = toolArguments; + d->m_valgrindCommand = command; } void ValgrindRunner::setDebuggee(const Runnable &debuggee) diff --git a/src/plugins/valgrind/valgrindrunner.h b/src/plugins/valgrind/valgrindrunner.h index 8278c942910..647cac8bae8 100644 --- a/src/plugins/valgrind/valgrindrunner.h +++ b/src/plugins/valgrind/valgrindrunner.h @@ -44,8 +44,7 @@ public: explicit ValgrindRunner(QObject *parent = nullptr); ~ValgrindRunner() override; - void setValgrindExecutable(const QString &executable); - void setValgrindArguments(const QStringList &toolArguments); + void setValgrindCommand(const Utils::CommandLine &command); void setDebuggee(const ProjectExplorer::Runnable &debuggee); void setProcessChannelMode(QProcess::ProcessChannelMode mode); void setLocalServerAddress(const QHostAddress &localServerAddress); diff --git a/src/plugins/valgrind/valgrindtestrunnertest.cpp b/src/plugins/valgrind/valgrindtestrunnertest.cpp index 1a25296883a..8ffcd0c6747 100644 --- a/src/plugins/valgrind/valgrindtestrunnertest.cpp +++ b/src/plugins/valgrind/valgrindtestrunnertest.cpp @@ -46,7 +46,9 @@ #define HEADER_LENGTH 25 +using namespace ProjectExplorer; using namespace Valgrind::XmlProtocol; +using namespace Utils; namespace Valgrind { namespace Test { @@ -77,15 +79,21 @@ QString ValgrindTestRunnerTest::runTestBinary(const QString &binary, const QStri const QFileInfo binPathFileInfo(appBinDir, binary); if (!binPathFileInfo.isExecutable()) return QString(); - ProjectExplorer::Runnable debuggee; + + Runnable debuggee; const QString &binPath = binPathFileInfo.canonicalFilePath(); debuggee.executable = Utils::FilePath::fromString(binPath); debuggee.environment = Utils::Environment::systemEnvironment(); + + CommandLine valgrind{FilePath::fromString("valgrind")}; + valgrind.addArgs({"--num-callers=50", "--track-origins=yes"}); + valgrind.addArgs(vArgs); + m_runner->setLocalServerAddress(QHostAddress::LocalHost); - m_runner->setValgrindArguments(QStringList() << "--num-callers=50" << "--track-origins=yes" << vArgs); + m_runner->setValgrindCommand(valgrind); m_runner->setDebuggee(debuggee); - m_runner->setDevice(ProjectExplorer::DeviceManager::instance()->defaultDevice( - Core::Id(ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE))); + m_runner->setDevice(DeviceManager::instance()->defaultDevice( + ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE)); m_runner->start(); m_runner->waitForFinished(); return binPath; @@ -131,7 +139,6 @@ void ValgrindTestRunnerTest::init() Q_ASSERT(!m_runner); m_runner = new ValgrindRunner; - m_runner->setValgrindExecutable("valgrind"); m_runner->setProcessChannelMode(QProcess::ForwardedChannels); connect(m_runner, &ValgrindRunner::logMessageReceived, this, &ValgrindTestRunnerTest::logMessageReceived); |