aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/autotest/testconfiguration.cpp
diff options
context:
space:
mode:
authorChristian Stenger <[email protected]>2016-04-29 10:13:35 +0200
committerChristian Stenger <[email protected]>2016-05-19 12:10:38 +0000
commitf429b95b0e36265944eea56cfbacb4fed9d210c5 (patch)
treee177da6ecfd846d9dc0d87984abc493e5e8b0769 /src/plugins/autotest/testconfiguration.cpp
parentcf9d1d5f8edc688f31ffd22624987dfe83304214 (diff)
AutoTest: Separate test configurations
Change-Id: I573b703b4f9ec246cf429d2602b6dc0b8174b50f Reviewed-by: David Schulz <[email protected]>
Diffstat (limited to 'src/plugins/autotest/testconfiguration.cpp')
-rw-r--r--src/plugins/autotest/testconfiguration.cpp79
1 files changed, 62 insertions, 17 deletions
diff --git a/src/plugins/autotest/testconfiguration.cpp b/src/plugins/autotest/testconfiguration.cpp
index ba4597b36dc..543d3b8c034 100644
--- a/src/plugins/autotest/testconfiguration.cpp
+++ b/src/plugins/autotest/testconfiguration.cpp
@@ -24,6 +24,8 @@
****************************************************************************/
#include "testconfiguration.h"
+#include "testoutputreader.h"
+#include "testsettings.h"
#include <cpptools/cppmodelmanager.h>
#include <cpptools/projectinfo.h>
@@ -43,19 +45,8 @@ using namespace ProjectExplorer;
namespace Autotest {
namespace Internal {
-TestConfiguration::TestConfiguration(const QString &testClass, const QStringList &testCases,
- int testCaseCount, QObject *parent)
- : QObject(parent),
- m_testClass(testClass),
- m_testCases(testCases),
- m_testCaseCount(testCaseCount),
- m_unnamedOnly(false),
- m_project(0),
- m_guessedConfiguration(false),
- m_type(TestTypeQt)
+TestConfiguration::TestConfiguration()
{
- if (testCases.size() != 0)
- m_testCaseCount = testCases.size();
}
TestConfiguration::~TestConfiguration()
@@ -252,19 +243,73 @@ void TestConfiguration::setProject(Project *project)
m_project = project;
}
-void TestConfiguration::setUnnamedOnly(bool unnamedOnly)
+void TestConfiguration::setGuessedConfiguration(bool guessed)
+{
+ m_guessedConfiguration = guessed;
+}
+
+TestOutputReader *QtTestConfiguration::outputReader(const QFutureInterface<TestResultPtr> &fi,
+ QProcess *app) const
+{
+ return new QtTestOutputReader(fi, app, buildDirectory());
+}
+
+QStringList QtTestConfiguration::argumentsForTestRunner(const TestSettings &settings) const
+{
+ QStringList arguments("-xml");
+
+ const QString &metricsOption = TestSettings::metricsTypeToOption(settings.metrics);
+ if (!metricsOption.isEmpty())
+ arguments << metricsOption;
+ if (testCases().count())
+ arguments << testCases();
+ return arguments;
+}
+
+TestOutputReader *QuickTestConfiguration::outputReader(const QFutureInterface<TestResultPtr> &fi,
+ QProcess *app) const
+{
+ return new QtTestOutputReader(fi, app, buildDirectory());
+}
+
+QStringList QuickTestConfiguration::argumentsForTestRunner(const TestSettings &settings) const
+{
+ QStringList arguments("-xml");
+
+ const QString &metricsOption = TestSettings::metricsTypeToOption(settings.metrics);
+ if (!metricsOption.isEmpty())
+ arguments << metricsOption;
+ if (testCases().count())
+ arguments << testCases();
+ return arguments;
+}
+
+void QuickTestConfiguration::setUnnamedOnly(bool unnamedOnly)
{
m_unnamedOnly = unnamedOnly;
}
-void TestConfiguration::setGuessedConfiguration(bool guessed)
+TestOutputReader *GoogleTestConfiguration::outputReader(const QFutureInterface<TestResultPtr> &fi,
+ QProcess *app) const
{
- m_guessedConfiguration = guessed;
+ return new GTestOutputReader(fi, app, buildDirectory());
}
-void TestConfiguration::setTestType(TestType type)
+QStringList GoogleTestConfiguration::argumentsForTestRunner(const TestSettings &settings) const
{
- m_type = type;
+ QStringList arguments;
+ const QStringList &testSets = testCases();
+ if (testSets.size())
+ arguments << QLatin1String("--gtest_filter=") + testSets.join(QLatin1Char(':'));
+ if (settings.gtestRunDisabled)
+ arguments << QLatin1String("--gtest_also_run_disabled_tests");
+ if (settings.gtestRepeat)
+ arguments << QString::fromLatin1("--gtest_repeat=%1").arg(settings.gtestIterations);
+ if (settings.gtestShuffle) {
+ arguments << QLatin1String("--gtest_shuffle")
+ << QString::fromLatin1("--gtest_random_seed=%1").arg(settings.gtestSeed);
+ }
+ return arguments;
}
} // namespace Internal