Commit ebfc118c authored by Christian Stenger's avatar Christian Stenger
Browse files

Add capability to execute selected gtests



Change-Id: Ib7354d6e86176852b2e3bb01aed091db8036bfdf
Reviewed-by: default avatarNiels Weber <niels.weber@theqtcompany.com>
parent 1cfe46df
......@@ -177,6 +177,14 @@ void performTestRun(QFutureInterface<void> &futureInterface,
if (testConfiguration->testCases().count())
argumentList << testConfiguration->testCases();
testProcess.setArguments(argumentList);
} else { // TestConfiguration::GTest
const QStringList &testSets = testConfiguration->testCases();
if (testSets.size()) {
QStringList argumentList;
argumentList << QLatin1String("--gtest_filter=")
+ testSets.join(QLatin1Char(':'));
testProcess.setArguments(argumentList);
}
}
testProcess.setWorkingDirectory(testConfiguration->workingDirectory());
......
......@@ -376,6 +376,34 @@ QList<TestConfiguration *> TestTreeModel::getSelectedTests() const
if (!config->unnamedOnly())
result << config;
// get selected Google Tests
QMap<QString, QStringList> proFilesWithEnabledTestSets;
for (int row = 0, count = m_googleTestRootItem->childCount(); row < count; ++row) {
const TestTreeItem *child = m_googleTestRootItem->childItem(row);
if (child->checked() == Qt::Unchecked) // add this test name to disabled list ?
continue;
int grandChildCount = child->childCount();
for (int grandChildRow = 0; grandChildRow < grandChildCount; ++grandChildRow) {
const TestTreeItem *grandChild = child->childItem(grandChildRow);
const QString &proFile = grandChild->mainFile();
QStringList enabled = proFilesWithEnabledTestSets.value(proFile);
if (grandChild->checked() == Qt::Checked)
enabled << child->name() + QLatin1Char('.') + grandChild->name();
proFilesWithEnabledTestSets.insert(proFile, enabled);
}
}
foreach (const QString &proFile, proFilesWithEnabledTestSets.keys()) {
TestConfiguration *tc = new TestConfiguration(QString(),
proFilesWithEnabledTestSets.value(proFile));
tc->setTestType(TestConfiguration::GTest);
tc->setProFile(proFile);
tc->setProject(project);
result << tc;
}
return result;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment