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