aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/autotest/testprojectsettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/autotest/testprojectsettings.cpp')
-rw-r--r--src/plugins/autotest/testprojectsettings.cpp29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/plugins/autotest/testprojectsettings.cpp b/src/plugins/autotest/testprojectsettings.cpp
index 47f672ea0f..2726bf9566 100644
--- a/src/plugins/autotest/testprojectsettings.cpp
+++ b/src/plugins/autotest/testprojectsettings.cpp
@@ -36,6 +36,8 @@ namespace Internal {
static const char SK_ACTIVE_FRAMEWORKS[] = "AutoTest.ActiveFrameworks";
static const char SK_RUN_AFTER_BUILD[] = "AutoTest.RunAfterBuild";
+static Q_LOGGING_CATEGORY(LOG, "qtc.autotest.frameworkmanager", QtWarningMsg)
+
TestProjectSettings::TestProjectSettings(ProjectExplorer::Project *project)
: m_project(project)
{
@@ -58,11 +60,12 @@ void TestProjectSettings::setUseGlobalSettings(bool useGlobal)
m_useGlobalSettings = useGlobal;
}
-void TestProjectSettings::activateFramework(const Core::Id &id, bool activate)
+void TestProjectSettings::activateFramework(const Utils::Id &id, bool activate)
{
- if (m_activeTestFrameworks.value(id) != activate) {
- m_activeTestFrameworks[id] = activate;
- }
+ ITestFramework *framework = TestFrameworkManager::frameworkForId(id);
+ m_activeTestFrameworks[framework] = activate;
+ if (!activate)
+ framework->resetRootNode();
}
void TestProjectSettings::load()
@@ -70,21 +73,21 @@ void TestProjectSettings::load()
const QVariant useGlobal = m_project->namedSettings(Constants::SK_USE_GLOBAL);
m_useGlobalSettings = useGlobal.isValid() ? useGlobal.toBool() : true;
- TestFrameworkManager *frameworkManager = TestFrameworkManager::instance();
- const QList<Core::Id> registered = frameworkManager->sortedRegisteredFrameworkIds();
+ const TestFrameworks registered = TestFrameworkManager::registeredFrameworks();
+ qCDebug(LOG) << "Registered frameworks sorted by priority" << registered;
const QVariant activeFrameworks = m_project->namedSettings(SK_ACTIVE_FRAMEWORKS);
m_activeTestFrameworks.clear();
if (activeFrameworks.isValid()) {
const QMap<QString, QVariant> frameworksMap = activeFrameworks.toMap();
- for (const Core::Id &id : registered) {
- const QString idStr = id.toString();
- bool active = frameworksMap.value(idStr, frameworkManager->isActive(id)).toBool();
- m_activeTestFrameworks.insert(id, active);
+ for (ITestFramework *framework : registered) {
+ const Utils::Id id = framework->id();
+ bool active = frameworksMap.value(id.toString(), framework->active()).toBool();
+ m_activeTestFrameworks.insert(framework, active);
}
} else {
- for (const Core::Id &id : registered)
- m_activeTestFrameworks.insert(id, frameworkManager->isActive(id));
+ for (ITestFramework *framework : registered)
+ m_activeTestFrameworks.insert(framework, framework->active());
}
const QVariant runAfterBuild = m_project->namedSettings(SK_RUN_AFTER_BUILD);
@@ -98,7 +101,7 @@ void TestProjectSettings::save()
QVariantMap activeFrameworks;
auto end = m_activeTestFrameworks.cend();
for (auto it = m_activeTestFrameworks.cbegin(); it != end; ++it)
- activeFrameworks.insert(it.key().toString(), it.value());
+ activeFrameworks.insert(it.key()->id().toString(), it.value());
m_project->setNamedSettings(SK_ACTIVE_FRAMEWORKS, activeFrameworks);
m_project->setNamedSettings(SK_RUN_AFTER_BUILD, int(m_runAfterBuild));
}