AutoTest: Extract function to get active frameworks

For later re-use.

Change-Id: I87cf6db4de861b626e4669351df3f5119952328f
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2023-02-06 14:29:24 +01:00
parent 96185ca4f1
commit 9277bb5111
3 changed files with 22 additions and 16 deletions

View File

@@ -438,6 +438,24 @@ void AutotestPluginPrivate::onRunUnderCursorTriggered(TestRunMode mode)
m_testRunner.runTests(mode, testsToRun);
}
TestFrameworks AutotestPlugin::activeTestFrameworks()
{
ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
TestFrameworks sorted;
if (!project || projectSettings(project)->useGlobalSettings()) {
sorted = Utils::filtered(TestFrameworkManager::registeredFrameworks(),
&ITestFramework::active);
} else { // we've got custom project settings
const TestProjectSettings *settings = projectSettings(project);
const QHash<ITestFramework *, bool> active = settings->activeFrameworks();
sorted = Utils::filtered(TestFrameworkManager::registeredFrameworks(),
[active](ITestFramework *framework) {
return active.value(framework, false);
});
}
return sorted;
}
void AutotestPlugin::updateMenuItemsEnabledState()
{
const ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();