Autotest: Slim down TestFrameworkManager interface

- sort frameworks at insertion time
- apply the 'static' pattern
- inline code from convenience functions that are only used once on
  the caller side

Change-Id: Ic4a46ad9487c58b4dfd61658a6fccebb88a428a9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2020-03-26 12:01:59 +01:00
parent 77c4caf4ea
commit 78235d63b4
7 changed files with 29 additions and 77 deletions

View File

@@ -27,21 +27,13 @@
#include "autotestconstants.h"
#include "autotestplugin.h"
#include "iframeworksettings.h"
#include "itestparser.h"
#include "testsettings.h"
#include "testtreeitem.h"
#include "testtreemodel.h"
#include <coreplugin/dialogs/ioptionspage.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h>
#include <QLoggingCategory>
#include <QSettings>
static Q_LOGGING_CATEGORY(LOG, "qtc.autotest.frameworkmanager", QtWarningMsg)
using namespace Core;
namespace Autotest {
@@ -53,11 +45,6 @@ TestFrameworkManager::TestFrameworkManager()
s_instance = this;
}
TestFrameworkManager *TestFrameworkManager::instance()
{
return s_instance;
}
TestFrameworkManager::~TestFrameworkManager()
{
qDeleteAll(m_registeredFrameworks);
@@ -70,46 +57,21 @@ bool TestFrameworkManager::registerTestFramework(ITestFramework *framework)
QTC_ASSERT(!m_registeredFrameworks.contains(framework), return false);
// TODO check for unique priority before registering
m_registeredFrameworks.append(framework);
Utils::sort(m_registeredFrameworks, &ITestFramework::priority);
return true;
}
void TestFrameworkManager::activateFrameworksFromSettings(const Internal::TestSettings *settings)
{
for (ITestFramework *framework : qAsConst(m_registeredFrameworks)) {
for (ITestFramework *framework : qAsConst(s_instance->m_registeredFrameworks)) {
framework->setActive(settings->frameworks.value(framework->id(), false));
framework->setGrouping(settings->frameworksGrouping.value(framework->id(), false));
}
}
TestFrameworks TestFrameworkManager::registeredFrameworks() const
TestFrameworks TestFrameworkManager::registeredFrameworks()
{
return m_registeredFrameworks;
}
TestFrameworks TestFrameworkManager::sortedRegisteredFrameworks() const
{
TestFrameworks registered = m_registeredFrameworks;
Utils::sort(registered, &ITestFramework::priority);
qCDebug(LOG) << "Registered frameworks sorted by priority" << registered;
return registered;
}
TestFrameworks TestFrameworkManager::activeFrameworks() const
{
TestFrameworks active;
for (ITestFramework *framework : qAsConst(m_registeredFrameworks)) {
if (framework->active())
active.append(framework);
}
return active;
}
TestFrameworks TestFrameworkManager::sortedActiveFrameworks() const
{
TestFrameworks active = activeFrameworks();
Utils::sort(active, &ITestFramework::priority);
qCDebug(LOG) << "Active frameworks sorted by priority" << active;
return active;
return s_instance->m_registeredFrameworks;
}
ITestFramework *TestFrameworkManager::frameworkForId(Id frameworkId)
@@ -129,11 +91,6 @@ void TestFrameworkManager::synchronizeSettings(QSettings *s)
}
}
bool TestFrameworkManager::hasActiveFrameworks() const
{
return Utils::anyOf(m_registeredFrameworks, &ITestFramework::active);
}
Id ITestFramework::settingsId() const
{
return Core::Id(Constants::SETTINGSPAGE_PREFIX)