From aaf94aac575c97893b389e7f6f86c7154da9620b Mon Sep 17 00:00:00 2001 From: hjk <hjk@qt.io> Date: Wed, 22 Feb 2017 11:53:09 +0100 Subject: [PATCH] ClangStaticAnalyzer: Use common pattern to access SessionManager Change-Id: I335b4ffedd679cb14e9502c98513409859e34c8f Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io> --- ...taticanalyzerpreconfiguredsessiontests.cpp | 29 +++++++++---------- ...gstaticanalyzerpreconfiguredsessiontests.h | 2 -- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/plugins/clangstaticanalyzer/clangstaticanalyzerpreconfiguredsessiontests.cpp b/src/plugins/clangstaticanalyzer/clangstaticanalyzerpreconfiguredsessiontests.cpp index 78072cc903b..72eaa0a9aab 100644 --- a/src/plugins/clangstaticanalyzer/clangstaticanalyzerpreconfiguredsessiontests.cpp +++ b/src/plugins/clangstaticanalyzer/clangstaticanalyzerpreconfiguredsessiontests.cpp @@ -69,12 +69,11 @@ static bool processEventsUntil(const std::function<bool()> condition, int timeOu class WaitForParsedProjects : public QObject { public: - WaitForParsedProjects(ProjectExplorer::SessionManager &sessionManager, - const QStringList &projects) - : m_sessionManager(sessionManager) - , m_projectsToWaitFor(projects) + WaitForParsedProjects(const QStringList &projects) + : m_projectsToWaitFor(projects) { - connect(&m_sessionManager, &ProjectExplorer::SessionManager::projectFinishedParsing, + connect(SessionManager::instance(), + &ProjectExplorer::SessionManager::projectFinishedParsing, this, &WaitForParsedProjects::onProjectFinishedParsing); } @@ -91,7 +90,6 @@ public: } private: - ProjectExplorer::SessionManager &m_sessionManager; QStringList m_projectsToWaitFor; }; @@ -102,7 +100,6 @@ ClangStaticAnalyzerPreconfiguredSessionTests::ClangStaticAnalyzerPreconfiguredSe ClangStaticAnalyzerTool *analyzerTool, QObject *parent) : QObject(parent) - , m_sessionManager(*ProjectExplorer::SessionManager::instance()) , m_analyzerTool(*analyzerTool) { } @@ -110,16 +107,16 @@ ClangStaticAnalyzerPreconfiguredSessionTests::ClangStaticAnalyzerPreconfiguredSe void ClangStaticAnalyzerPreconfiguredSessionTests::initTestCase() { const QString preconfiguredSessionName = QLatin1String("ClangStaticAnalyzerPreconfiguredSession"); - if (!m_sessionManager.sessions().contains(preconfiguredSessionName)) + if (!SessionManager::sessions().contains(preconfiguredSessionName)) QSKIP("Manually preconfigured session 'ClangStaticAnalyzerPreconfiguredSession' needed."); - if (m_sessionManager.activeSession() == preconfiguredSessionName) + if (SessionManager::activeSession() == preconfiguredSessionName) QSKIP("Session must not be already active."); // Load session - const QStringList projects = m_sessionManager.projectsForSessionName(preconfiguredSessionName); - WaitForParsedProjects waitForParsedProjects(m_sessionManager, projects); - QVERIFY(m_sessionManager.loadSession(preconfiguredSessionName)); + const QStringList projects = SessionManager::projectsForSessionName(preconfiguredSessionName); + WaitForParsedProjects waitForParsedProjects(projects); + QVERIFY(SessionManager::loadSession(preconfiguredSessionName)); QVERIFY(waitForParsedProjects.wait()); } @@ -206,7 +203,7 @@ void ClangStaticAnalyzerPreconfiguredSessionTests::testPreconfiguredSession_data bool hasAddedTestData = false; - foreach (Project *project, validProjects(m_sessionManager.projects())) { + foreach (Project *project, validProjects(SessionManager::projects())) { foreach (Target *target, validTargets(project)) { hasAddedTestData = true; QTest::newRow(dataTagName(project, target)) << project << target; @@ -220,17 +217,17 @@ void ClangStaticAnalyzerPreconfiguredSessionTests::testPreconfiguredSession_data bool ClangStaticAnalyzerPreconfiguredSessionTests::switchToProjectAndTarget(Project *project, Target *target) { - Project * const activeProject = m_sessionManager.startupProject(); + Project * const activeProject = SessionManager::startupProject(); if (project == activeProject && target == activeProject->activeTarget()) return true; // OK, desired project/target already active. if (project != activeProject) - m_sessionManager.setStartupProject(project); + SessionManager::setStartupProject(project); if (target != project->activeTarget()) { QSignalSpy spyFinishedParsing(ProjectExplorer::SessionManager::instance(), &ProjectExplorer::SessionManager::projectFinishedParsing); - m_sessionManager.setActiveTarget(project, target, ProjectExplorer::SetActive::NoCascade); + SessionManager::setActiveTarget(project, target, ProjectExplorer::SetActive::NoCascade); QTC_ASSERT(spyFinishedParsing.wait(30000), return false); const QVariant projectArgument = spyFinishedParsing.takeFirst().takeFirst(); diff --git a/src/plugins/clangstaticanalyzer/clangstaticanalyzerpreconfiguredsessiontests.h b/src/plugins/clangstaticanalyzer/clangstaticanalyzerpreconfiguredsessiontests.h index 786b6dd0d2c..5a93fa51e6a 100644 --- a/src/plugins/clangstaticanalyzer/clangstaticanalyzerpreconfiguredsessiontests.h +++ b/src/plugins/clangstaticanalyzer/clangstaticanalyzerpreconfiguredsessiontests.h @@ -31,7 +31,6 @@ namespace ProjectExplorer { class Project; class Target; -class SessionManager; } namespace ClangStaticAnalyzer { @@ -56,7 +55,6 @@ private: bool switchToProjectAndTarget(ProjectExplorer::Project *project, ProjectExplorer::Target *target); - ProjectExplorer::SessionManager &m_sessionManager; ClangStaticAnalyzerTool &m_analyzerTool; }; -- GitLab