AutoTest: Unify container usage in TestFrameworkManager

And provide an accessor for the framework's priority which
will be needed later on.

Change-Id: I5a2480699d9467ee50e2cc44b9d4ff58f9e8da88
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2019-08-07 10:25:43 +02:00
parent 297410ba4e
commit 0d11d880ca
5 changed files with 17 additions and 10 deletions

View File

@@ -115,7 +115,7 @@ void TestCodeParser::setState(State state)
}
}
void TestCodeParser::syncTestFrameworks(const QVector<Core::Id> &frameworkIds)
void TestCodeParser::syncTestFrameworks(const QList<Core::Id> &frameworkIds)
{
if (m_parserState != Idle) {
// there's a running parse

View File

@@ -62,7 +62,7 @@ public:
State state() const { return m_parserState; }
bool isParsing() const { return m_parserState == PartialParse || m_parserState == FullParse; }
void setDirty() { m_dirty = true; }
void syncTestFrameworks(const QVector<Core::Id> &frameworkIds);
void syncTestFrameworks(const QList<Core::Id> &frameworkIds);
#ifdef WITH_TESTS
bool furtherParsingExpected() const
{ return m_singleShotScheduled || m_fullUpdatePostponed || m_partialUpdatePostponed; }

View File

@@ -120,9 +120,9 @@ QList<Core::Id> TestFrameworkManager::sortedRegisteredFrameworkIds() const
return registered;
}
QVector<Core::Id> TestFrameworkManager::activeFrameworkIds() const
QList<Core::Id> TestFrameworkManager::activeFrameworkIds() const
{
QVector<Core::Id> active;
QList<Core::Id> active;
FrameworkIterator it = m_registeredFrameworks.begin();
FrameworkIterator end = m_registeredFrameworks.end();
for ( ; it != end; ++it) {
@@ -132,9 +132,9 @@ QVector<Core::Id> TestFrameworkManager::activeFrameworkIds() const
return active;
}
QVector<Core::Id> TestFrameworkManager::sortedActiveFrameworkIds() const
QList<Core::Id> TestFrameworkManager::sortedActiveFrameworkIds() const
{
QVector<Core::Id> active = activeFrameworkIds();
QList<Core::Id> active = activeFrameworkIds();
Utils::sort(active, [this] (const Core::Id &lhs, const Core::Id &rhs) {
return m_registeredFrameworks[lhs]->priority() < m_registeredFrameworks[rhs]->priority();
});
@@ -210,5 +210,12 @@ bool TestFrameworkManager::hasActiveFrameworks() const
return false;
}
unsigned TestFrameworkManager::priority(const Core::Id &frameworkId) const
{
if (ITestFramework *framework = m_registeredFrameworks.value(frameworkId))
return framework->priority();
return unsigned(-1);
}
} // namespace Internal
} // namespace Autotest

View File

@@ -58,7 +58,7 @@ public:
QString frameworkNameForId(const Core::Id &id) const;
QList<Core::Id> registeredFrameworkIds() const;
QList<Core::Id> sortedRegisteredFrameworkIds() const;
QVector<Core::Id> sortedActiveFrameworkIds() const;
QList<Core::Id> sortedActiveFrameworkIds() const;
TestTreeItem *rootNodeForTestFramework(const Core::Id &frameworkId) const;
ITestParser *testParserForTestFramework(const Core::Id &frameworkId) const;
@@ -69,9 +69,9 @@ public:
void setGroupingEnabledFor(const Core::Id &frameworkId, bool enabled);
QString groupingToolTip(const Core::Id &frameworkId) const;
bool hasActiveFrameworks() const;
unsigned priority(const Core::Id &frameworkId) const;
private:
QVector<Core::Id> activeFrameworkIds() const;
QList<Core::Id> activeFrameworkIds() const;
explicit TestFrameworkManager();
QHash<Core::Id, ITestFramework *> m_registeredFrameworks;
QHash<Core::Id, QSharedPointer<IFrameworkSettings> > m_frameworkSettings;

View File

@@ -204,7 +204,7 @@ void TestTreeModel::syncTestFrameworks()
removeTestRootNodes();
TestFrameworkManager *frameworkManager = TestFrameworkManager::instance();
QVector<Core::Id> sortedIds = frameworkManager->sortedActiveFrameworkIds();
QList<Core::Id> sortedIds = frameworkManager->sortedActiveFrameworkIds();
for (const Core::Id &id : sortedIds)
rootItem()->appendChild(frameworkManager->rootNodeForTestFramework(id));