aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@theqtcompany.com>2015-12-09 14:09:49 +0100
committerChristian Stenger <christian.stenger@theqtcompany.com>2016-01-12 12:14:34 +0000
commitb13373e45e4c6105d665a1c70029d446c4f968cc (patch)
tree95a8b7568cee8f5c6d02737e0e63d6305cb509f1
parenta88d3df334f5711c75da89b7ca2baaf7e4f3775f (diff)
Enable 'Run This Test' for gtest items
Change-Id: Ia0fb93a4bbc225c45352f0f818262f5b6ff9d6d6 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
-rw-r--r--plugins/autotest/testnavigationwidget.cpp8
-rw-r--r--plugins/autotest/testtreemodel.cpp20
2 files changed, 26 insertions, 2 deletions
diff --git a/plugins/autotest/testnavigationwidget.cpp b/plugins/autotest/testnavigationwidget.cpp
index e396c807eb..bff1b4de8d 100644
--- a/plugins/autotest/testnavigationwidget.cpp
+++ b/plugins/autotest/testnavigationwidget.cpp
@@ -106,7 +106,9 @@ void TestNavigationWidget::contextMenuEvent(QContextMenuEvent *event)
const QString &unnamed = tr(Constants::UNNAMED_QUICKTESTS);
if ((type == TestTreeItem::TestFunction && index.parent().data().toString() != unnamed)
|| (type == TestTreeItem::TestClass && index.data().toString() != unnamed)
- || (type == TestTreeItem::TestDataTag)) {
+ || (type == TestTreeItem::TestDataTag)
+ || (type == TestTreeItem::GTestCase)
+ || (type == TestTreeItem::GTestName)) {
runThisTest = new QAction(tr("Run This Test"), &menu);
runThisTest->setEnabled(enabled);
connect(runThisTest, &QAction::triggered,
@@ -251,7 +253,9 @@ void TestNavigationWidget::onRunThisTestTriggered()
TestTreeItem *item = static_cast<TestTreeItem *>(sourceIndex.internalPointer());
if (item->type() == TestTreeItem::TestClass || item->type() == TestTreeItem::TestFunction
- || item->type() == TestTreeItem::TestDataTag) {
+ || item->type() == TestTreeItem::TestDataTag
+ || item->type() == TestTreeItem::GTestCase
+ || item->type() == TestTreeItem::GTestName) {
if (TestConfiguration *configuration = m_model->getTestConfiguration(item)) {
TestRunner *runner = TestRunner::instance();
runner->setSelectedTests( {configuration} );
diff --git a/plugins/autotest/testtreemodel.cpp b/plugins/autotest/testtreemodel.cpp
index 91811f621f..507e18da20 100644
--- a/plugins/autotest/testtreemodel.cpp
+++ b/plugins/autotest/testtreemodel.cpp
@@ -461,6 +461,26 @@ TestConfiguration *TestTreeModel::getTestConfiguration(const TestTreeItem *item)
config->setProject(project);
break;
}
+ case TestTreeItem::GTestCase: {
+ if (int childCount = item->childCount()) {
+ config = new TestConfiguration(QString(),
+ QStringList(item->name() + QLatin1String(".*")));
+ config->setTestCaseCount(childCount);
+ config->setProFile(item->childItem(0)->mainFile());
+ config->setProject(project);
+ config->setTestType(TestConfiguration::GTest);
+ }
+ break;
+ }
+ case TestTreeItem::GTestName: {
+ const TestTreeItem *parent = item->parentItem();
+ config = new TestConfiguration(QString(),
+ QStringList(parent->name() + QLatin1Char('.') + item->name()));
+ config->setProFile(item->mainFile());
+ config->setProject(project);
+ config->setTestType(TestConfiguration::GTest);
+ break;
+ }
// not supported items
default:
return 0;