diff options
author | Christian Stenger <[email protected]> | 2016-04-29 10:13:35 +0200 |
---|---|---|
committer | Christian Stenger <[email protected]> | 2016-05-19 12:10:38 +0000 |
commit | f429b95b0e36265944eea56cfbacb4fed9d210c5 (patch) | |
tree | e177da6ecfd846d9dc0d87984abc493e5e8b0769 /src/plugins/autotest/testconfiguration.cpp | |
parent | cf9d1d5f8edc688f31ffd22624987dfe83304214 (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.cpp | 79 |
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 |