AutoTest: Introduce active state for test frameworks

Change-Id: I0fddce91a239c0a51352a25e34a221fd8880b733
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
This commit is contained in:
Christian Stenger
2016-06-06 15:35:00 +02:00
parent c64fa0d329
commit 8cba580343
15 changed files with 285 additions and 137 deletions

View File

@@ -26,6 +26,7 @@
#pragma once
#include <QHash>
#include <QSharedPointer>
namespace Core { class Id; }
@@ -35,6 +36,7 @@ namespace Internal {
class ITestFramework;
class ITestParser;
class TestRunner;
struct TestSettings;
class TestTreeItem;
class TestTreeModel;
@@ -44,17 +46,25 @@ public:
static TestFrameworkManager *instance();
virtual ~TestFrameworkManager();
bool registerTestFramework(ITestFramework *framework);
void activateFrameworksFromSettings(QSharedPointer<TestSettings> settings);
QString frameworkNameForId(const Core::Id &id) const;
QList<Core::Id> registeredFrameworkIds() const;
QList<Core::Id> sortedFrameworkIds() const;
QList<Core::Id> sortedRegisteredFrameworkIds() const;
QVector<Core::Id> sortedActiveFrameworkIds() const;
TestTreeItem *rootNodeForTestFramework(const Core::Id &frameworkId) const;
ITestParser *testParserForTestFramework(const Core::Id &frameworkId) const;
bool isActive(const Core::Id &frameworkId) const;
private:
QVector<Core::Id> activeFrameworkIds() const;
explicit TestFrameworkManager();
QHash<Core::Id, ITestFramework *> m_registeredFrameworks;
TestTreeModel *m_testTreeModel;
TestRunner *m_testRunner;
typedef QHash<Core::Id, ITestFramework *>::ConstIterator FrameworkIterator;
};
} // namespace Internal