forked from qt-creator/qt-creator
AutoTest: Move framework settings into framework manager
Change-Id: I9914291adb102de5136802eb3b6d12afb6276538 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -25,6 +25,8 @@
|
||||
|
||||
#include "testframeworkmanager.h"
|
||||
#include "autotestconstants.h"
|
||||
#include "autotestplugin.h"
|
||||
#include "iframeworksettings.h"
|
||||
#include "itestframework.h"
|
||||
#include "itestparser.h"
|
||||
#include "testrunner.h"
|
||||
@@ -74,6 +76,11 @@ bool TestFrameworkManager::registerTestFramework(ITestFramework *framework)
|
||||
// TODO check for unique priority before registering
|
||||
qCDebug(LOG) << "Registering" << id;
|
||||
m_registeredFrameworks.insert(id, framework);
|
||||
|
||||
if (framework->hasFrameworkSettings()) {
|
||||
QSharedPointer<IFrameworkSettings> frameworkSettings(framework->createFrameworkSettings());
|
||||
m_frameworkSettings.insert(id, frameworkSettings);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -145,6 +152,23 @@ ITestParser *TestFrameworkManager::testParserForTestFramework(const Core::Id &fr
|
||||
return testParser;
|
||||
}
|
||||
|
||||
QSharedPointer<IFrameworkSettings> TestFrameworkManager::settingsForTestFramework(
|
||||
const Core::Id &frameworkId) const
|
||||
{
|
||||
return m_frameworkSettings.contains(frameworkId) ? m_frameworkSettings.value(frameworkId)
|
||||
: QSharedPointer<IFrameworkSettings>();
|
||||
}
|
||||
|
||||
void TestFrameworkManager::synchronizeSettings(QSettings *s)
|
||||
{
|
||||
AutotestPlugin::instance()->settings()->fromSettings(s);
|
||||
for (const Core::Id &id : m_frameworkSettings.keys()) {
|
||||
QSharedPointer<IFrameworkSettings> fSettings = settingsForTestFramework(id);
|
||||
if (!fSettings.isNull())
|
||||
fSettings->fromSettings(s);
|
||||
}
|
||||
}
|
||||
|
||||
bool TestFrameworkManager::isActive(const Core::Id &frameworkId) const
|
||||
{
|
||||
ITestFramework *framework = m_registeredFrameworks.value(frameworkId);
|
||||
|
||||
Reference in New Issue
Block a user