aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/autotest/qtest/qttestconfiguration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/autotest/qtest/qttestconfiguration.cpp')
-rw-r--r--src/plugins/autotest/qtest/qttestconfiguration.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/plugins/autotest/qtest/qttestconfiguration.cpp b/src/plugins/autotest/qtest/qttestconfiguration.cpp
index 529821644c..6a316b0657 100644
--- a/src/plugins/autotest/qtest/qttestconfiguration.cpp
+++ b/src/plugins/autotest/qtest/qttestconfiguration.cpp
@@ -10,11 +10,22 @@
#include "../itestframework.h"
#include "../testsettings.h"
+#include <utils/algorithm.h>
#include <utils/stringutils.h>
namespace Autotest {
namespace Internal {
+static QStringList quoteIfNeeded(const QStringList &testCases, bool debugMode)
+{
+ if (debugMode)
+ return testCases;
+
+ return Utils::transform(testCases, [](const QString &testCase){
+ return testCase.contains(' ') ? '"' + testCase + '"' : testCase;
+ });
+}
+
TestOutputReader *QtTestConfiguration::outputReader(const QFutureInterface<TestResultPtr> &fi,
Utils::QtcProcess *app) const
{
@@ -39,7 +50,7 @@ QStringList QtTestConfiguration::argumentsForTestRunner(QStringList *omitted) co
if (qtSettings->useXMLOutput.value())
arguments << "-xml";
if (!testCases().isEmpty())
- arguments << testCases();
+ arguments << quoteIfNeeded(testCases(), isDebugRunMode());
const QString &metricsOption = QtTestSettings::metricsTypeToOption(MetricsType(qtSettings->metrics.value()));
if (!metricsOption.isEmpty())