diff options
author | David Schulz <david.schulz@qt.io> | 2020-11-25 08:18:55 +0100 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2020-11-30 05:15:15 +0000 |
commit | 7853c6ba4d10b81918f7042e93dd6053306f82bc (patch) | |
tree | 1183d282615d0892f5ab3f62728949cc38527324 | |
parent | a3857a996a6892a871f776452289a1520cff9337 (diff) | |
download | qt-creator-7853c6ba4d10b81918f7042e93dd6053306f82bc.tar.gz |
AutoTest: add ITestBase::type() for better readability
Change-Id: I67133f4940329483f2d8d25d1212f4e07f57d39d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r-- | src/plugins/autotest/itemdatacache.h | 3 | ||||
-rw-r--r-- | src/plugins/autotest/itestframework.cpp | 9 | ||||
-rw-r--r-- | src/plugins/autotest/itestframework.h | 6 | ||||
-rw-r--r-- | src/plugins/autotest/testnavigationwidget.cpp | 5 | ||||
-rw-r--r-- | src/plugins/autotest/testresultspane.cpp | 2 | ||||
-rw-r--r-- | src/plugins/autotest/testrunner.cpp | 8 | ||||
-rw-r--r-- | src/plugins/autotest/testtreemodel.cpp | 10 |
7 files changed, 25 insertions, 18 deletions
diff --git a/src/plugins/autotest/itemdatacache.h b/src/plugins/autotest/itemdatacache.h index 66e9b226ca..866695f068 100644 --- a/src/plugins/autotest/itemdatacache.h +++ b/src/plugins/autotest/itemdatacache.h @@ -42,8 +42,7 @@ class ItemDataCache public: void insert(ITestTreeItem *item, const T &value) { - m_cache[item->cacheName()] = { - 0, value, item->testBase()->asTestTool() ? ITestBase::Tool : ITestBase::Framework }; + m_cache[item->cacheName()] = {0, value, item->testBase()->type()}; } /* \a type represents an OR'ed value of ITestBase::TestBaseType */ diff --git a/src/plugins/autotest/itestframework.cpp b/src/plugins/autotest/itestframework.cpp index adae992de9..5985a73c74 100644 --- a/src/plugins/autotest/itestframework.cpp +++ b/src/plugins/autotest/itestframework.cpp @@ -32,8 +32,9 @@ namespace Autotest { -ITestBase::ITestBase(bool activeByDefault) +ITestBase::ITestBase(bool activeByDefault, const ITestBase::TestBaseType type) : m_active(activeByDefault) + , m_type(type) {} Utils::Id ITestBase::settingsId() const @@ -59,7 +60,7 @@ void ITestBase::resetRootNode() ITestFramework::ITestFramework(bool activeByDefault) - : ITestBase(activeByDefault) + : ITestBase(activeByDefault, ITestBase::Framework) {} ITestFramework::~ITestFramework() @@ -82,6 +83,10 @@ ITestParser *ITestFramework::testParser() return m_testParser; } +ITestTool::ITestTool(bool activeByDefault) + : ITestBase(activeByDefault, ITestBase::Tool) +{} + ITestTreeItem *ITestTool::rootNode() { if (!m_rootNode) diff --git a/src/plugins/autotest/itestframework.h b/src/plugins/autotest/itestframework.h index e6c2d4d59a..6e36ecfe3c 100644 --- a/src/plugins/autotest/itestframework.h +++ b/src/plugins/autotest/itestframework.h @@ -48,11 +48,12 @@ public: Tool = 0x2 }; - explicit ITestBase(bool activeByDefault); + explicit ITestBase(bool activeByDefault, const TestBaseType type); virtual ~ITestBase() = default; virtual const char *name() const = 0; virtual unsigned priority() const = 0; // should this be modifyable? + TestBaseType type() const { return m_type; } virtual ITestSettings *testSettings() { return nullptr; } @@ -73,6 +74,7 @@ protected: private: ITestTreeItem *m_rootNode = nullptr; bool m_active = false; + TestBaseType m_type = None; friend class ITestFramework; friend class ITestTool; @@ -107,7 +109,7 @@ using TestFrameworks = QList<ITestFramework *>; class ITestTool : public ITestBase { public: - explicit ITestTool(bool activeByDefault) : ITestBase(activeByDefault) {} + explicit ITestTool(bool activeByDefault); ITestTreeItem *rootNode(); diff --git a/src/plugins/autotest/testnavigationwidget.cpp b/src/plugins/autotest/testnavigationwidget.cpp index 1584eca2ea..32505ddaf0 100644 --- a/src/plugins/autotest/testnavigationwidget.cpp +++ b/src/plugins/autotest/testnavigationwidget.cpp @@ -154,8 +154,9 @@ void TestNavigationWidget::contextMenuEvent(QContextMenuEvent *event) onRunThisTestTriggered(TestRunMode::RunWithoutDeploy); }); } - auto ttitem = item->testBase()->asFramework() ? static_cast<TestTreeItem *>(item) - : nullptr; + auto ttitem = item->testBase()->type() == ITestBase::Framework + ? static_cast<TestTreeItem *>(item) + : nullptr; if (ttitem && ttitem->canProvideDebugConfiguration()) { debugThisTest = new QAction(tr("Debug This Test"), &menu); debugThisTest->setEnabled(enabled); diff --git a/src/plugins/autotest/testresultspane.cpp b/src/plugins/autotest/testresultspane.cpp index 78d2d3c993..5cbe20e070 100644 --- a/src/plugins/autotest/testresultspane.cpp +++ b/src/plugins/autotest/testresultspane.cpp @@ -635,7 +635,7 @@ void TestResultsPane::onCustomContextMenuRequested(const QPoint &pos) action = new QAction(tr("Debug This Test"), &menu); bool debugEnabled = false; if (correlatingItem) { - if (correlatingItem->testBase()->asFramework()) { + if (correlatingItem->testBase()->type() == ITestBase::Framework) { auto testTreeItem = static_cast<const TestTreeItem *>(correlatingItem); debugEnabled = testTreeItem && testTreeItem->canProvideDebugConfiguration(); } diff --git a/src/plugins/autotest/testrunner.cpp b/src/plugins/autotest/testrunner.cpp index 90bff5bb9f..c4c3f9ea8d 100644 --- a/src/plugins/autotest/testrunner.cpp +++ b/src/plugins/autotest/testrunner.cpp @@ -177,7 +177,7 @@ static QString constructOmittedVariablesDetailsString(const Utils::EnvironmentIt bool TestRunner::currentConfigValid() { QString commandFilePath; - if (m_currentConfig->testBase()->asFramework()) { + if (m_currentConfig->testBase()->type() == ITestBase::Framework) { TestConfiguration *current = static_cast<TestConfiguration *>(m_currentConfig); commandFilePath = current->executableFilePath(); } else { @@ -206,7 +206,7 @@ void TestRunner::setUpProcess() QTC_ASSERT(m_currentConfig, return); m_currentProcess = new QProcess; m_currentProcess->setReadChannel(QProcess::StandardOutput); - if (m_currentConfig->testBase()->asFramework()) { + if (m_currentConfig->testBase()->type() == ITestBase::Framework) { TestConfiguration *current = static_cast<TestConfiguration *>(m_currentConfig); m_currentProcess->setProgram(current->executableFilePath()); } else { @@ -217,7 +217,7 @@ void TestRunner::setUpProcess() void TestRunner::setUpProcessEnv() { - if (m_currentConfig->testBase()->asFramework()) { + if (m_currentConfig->testBase()->type() == ITestBase::Framework) { TestConfiguration *current = static_cast<TestConfiguration *>(m_currentConfig); QStringList omitted; @@ -604,7 +604,7 @@ void TestRunner::debugTests() QTC_ASSERT(m_selectedTests.size() == 1, onFinished();return); ITestConfiguration *itc = m_selectedTests.first(); - QTC_ASSERT(itc->testBase()->asFramework(), onFinished();return); + QTC_ASSERT(itc->testBase()->type() == ITestBase::Framework, onFinished();return); TestConfiguration *config = static_cast<TestConfiguration *>(itc); config->completeTestInformation(TestRunMode::Debug); diff --git a/src/plugins/autotest/testtreemodel.cpp b/src/plugins/autotest/testtreemodel.cpp index 953e8e3dd3..8c063bc4ea 100644 --- a/src/plugins/autotest/testtreemodel.cpp +++ b/src/plugins/autotest/testtreemodel.cpp @@ -151,7 +151,7 @@ bool TestTreeModel::setData(const QModelIndex &index, const QVariant &value, int } return true; } else if (role == FailedRole) { - if (item->testBase()->asFramework()) + if (item->testBase()->type() == ITestBase::Framework) m_failedStateCache.insert(static_cast<TestTreeItem *>(item), true); } } @@ -204,7 +204,7 @@ QList<ITestConfiguration *> TestTreeModel::getTestsForFile(const Utils::FilePath { QList<ITestConfiguration *> result; for (Utils::TreeItem *frameworkRoot : *rootItem()) { - if (static_cast<ITestTreeItem *>(frameworkRoot)->testBase()->asFramework()) + if (static_cast<ITestTreeItem *>(frameworkRoot)->testBase()->type() == ITestBase::Framework) result.append(static_cast<TestTreeItem *>(frameworkRoot)->getTestConfigurationsForFile(fileName)); } return result; @@ -276,7 +276,7 @@ QList<TestTreeItem *> TestTreeModel::testItemsByName(const QString &testName) QList<TestTreeItem *> result; for (Utils::TreeItem *frameworkRoot : *rootItem()) { ITestTreeItem *root = static_cast<ITestTreeItem *>(frameworkRoot); - if (root->testBase()->asFramework()) + if (root->testBase()->type() == ITestBase::Framework) result << testItemsByName(static_cast<TestTreeItem *>(root), testName); } @@ -319,7 +319,7 @@ void TestTreeModel::synchronizeTestFrameworks() newlyAdded.insert(framework); } for (ITestTreeItem *oldFrameworkRoot : oldFrameworkRoots) { - if (oldFrameworkRoot->testBase()->asFramework()) + if (oldFrameworkRoot->testBase()->type() == ITestBase::Framework) oldFrameworkRoot->removeChildren(); else // re-add the test tools - they are handled separately invisibleRoot->appendChild(oldFrameworkRoot); @@ -727,7 +727,7 @@ void TestTreeModel::removeAllTestToolItems() { for (Utils::TreeItem *it : *rootItem()) { ITestTreeItem * item = static_cast<ITestTreeItem *>(it); - if (item->testBase()->asFramework()) + if (item->testBase()->type() == ITestBase::Framework) continue; item->removeChildren(); if (item->checked() == Qt::PartiallyChecked) |