aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/autotest/autotestplugin.cpp
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2020-03-26 09:21:25 +0100
committerhjk <hjk@qt.io>2020-03-26 16:46:17 +0000
commitf3c1751965e0321f3b5b980162d03f994da1cb5f (patch)
tree4ee3a25d326bd647e3e426f2c64c0fe3ee4ef411 /src/plugins/autotest/autotestplugin.cpp
parentbac32dc740ed5f454ec03c5d97d6c9396ffda0d4 (diff)
Autotest: Move Test{FrameWorkManager,Runner} singletons
Make them plugin-pimpl data members, removing some indirections. Change-Id: Ie441ac94a27f07342513b0b5b1437ccfe4b5d7d2 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/autotest/autotestplugin.cpp')
-rw-r--r--src/plugins/autotest/autotestplugin.cpp39
1 files changed, 17 insertions, 22 deletions
diff --git a/src/plugins/autotest/autotestplugin.cpp b/src/plugins/autotest/autotestplugin.cpp
index 9e37f7bb0f4..a0084ee65cf 100644
--- a/src/plugins/autotest/autotestplugin.cpp
+++ b/src/plugins/autotest/autotestplugin.cpp
@@ -89,7 +89,6 @@ public:
AutotestPluginPrivate();
~AutotestPluginPrivate() override;
- TestFrameworkManager *m_frameworkManager = nullptr;
TestNavigationWidgetFactory *m_navigationWidgetFactory = nullptr;
TestResultsPane *m_resultsPane = nullptr;
QMap<QString, ChoicePair> m_runconfigCache;
@@ -105,6 +104,8 @@ public:
TestCodeParser m_testCodeParser;
TestTreeModel m_testTreeModel{&m_testCodeParser};
+ TestRunner m_testRunner;
+ TestFrameworkManager m_frameworkManager;
};
static AutotestPluginPrivate *dd = nullptr;
@@ -127,14 +128,13 @@ AutotestPlugin::~AutotestPlugin()
AutotestPluginPrivate::AutotestPluginPrivate()
{
dd = this; // Needed as the code below access it via the static plugin interface
- m_frameworkManager = TestFrameworkManager::instance();
initializeMenuEntries();
- m_frameworkManager->registerTestFramework(new QtTestFramework);
- m_frameworkManager->registerTestFramework(new QuickTestFramework);
- m_frameworkManager->registerTestFramework(new GTestFramework);
- m_frameworkManager->registerTestFramework(new BoostTestFramework);
+ m_frameworkManager.registerTestFramework(new QtTestFramework);
+ m_frameworkManager.registerTestFramework(new QuickTestFramework);
+ m_frameworkManager.registerTestFramework(new GTestFramework);
+ m_frameworkManager.registerTestFramework(new BoostTestFramework);
- m_frameworkManager->synchronizeSettings(ICore::settings());
+ m_frameworkManager.synchronizeSettings(ICore::settings());
m_navigationWidgetFactory = new TestNavigationWidgetFactory;
m_resultsPane = TestResultsPane::instance();
@@ -147,7 +147,7 @@ AutotestPluginPrivate::AutotestPluginPrivate()
});
ProjectExplorer::ProjectPanelFactory::registerFactory(panelFactory);
- m_frameworkManager->activateFrameworksFromSettings(&m_settings);
+ m_frameworkManager.activateFrameworksFromSettings(&m_settings);
m_testTreeModel.synchronizeTestFrameworks();
auto sessionManager = ProjectExplorer::SessionManager::instance();
@@ -173,7 +173,6 @@ AutotestPluginPrivate::~AutotestPluginPrivate()
delete m_navigationWidgetFactory;
delete m_resultsPane;
- delete m_frameworkManager;
}
TestSettings *AutotestPlugin::settings()
@@ -298,16 +297,14 @@ ExtensionSystem::IPlugin::ShutdownFlag AutotestPlugin::aboutToShutdown()
void AutotestPluginPrivate::onRunAllTriggered()
{
- TestRunner *runner = TestRunner::instance();
- runner->setSelectedTests(m_testTreeModel.getAllTestCases());
- runner->prepareToRunTests(TestRunMode::Run);
+ m_testRunner.setSelectedTests(m_testTreeModel.getAllTestCases());
+ m_testRunner.prepareToRunTests(TestRunMode::Run);
}
void AutotestPluginPrivate::onRunSelectedTriggered()
{
- TestRunner *runner = TestRunner::instance();
- runner->setSelectedTests(m_testTreeModel.getSelectedTests());
- runner->prepareToRunTests(TestRunMode::Run);
+ m_testRunner.setSelectedTests(m_testTreeModel.getSelectedTests());
+ m_testRunner.prepareToRunTests(TestRunMode::Run);
}
void AutotestPluginPrivate::onRunFileTriggered()
@@ -324,9 +321,8 @@ void AutotestPluginPrivate::onRunFileTriggered()
if (tests.isEmpty())
return;
- TestRunner *runner = TestRunner::instance();
- runner->setSelectedTests(tests);
- runner->prepareToRunTests(TestRunMode::Run);
+ m_testRunner.setSelectedTests(tests);
+ m_testRunner.prepareToRunTests(TestRunMode::Run);
}
static QList<TestConfiguration *> testItemsToTestConfigurations(const QList<TestTreeItem *> &items,
@@ -368,16 +364,15 @@ void AutotestPluginPrivate::onRunUnderCursorTriggered(TestRunMode mode)
return;
}
- auto runner = TestRunner::instance();
- runner->setSelectedTests(testsToRun);
- runner->prepareToRunTests(mode);
+ m_testRunner.setSelectedTests(testsToRun);
+ m_testRunner.prepareToRunTests(mode);
}
void AutotestPlugin::updateMenuItemsEnabledState()
{
const ProjectExplorer::Project *project = ProjectExplorer::SessionManager::startupProject();
const ProjectExplorer::Target *target = project ? project->activeTarget() : nullptr;
- const bool canScan = !TestRunner::instance()->isTestRunning()
+ const bool canScan = !dd->m_testRunner.isTestRunning()
&& dd->m_testCodeParser.state() == TestCodeParser::Idle;
const bool hasTests = dd->m_testTreeModel.hasTests();
// avoid expensive call to PE::canRunStartupProject() - limit to minimum necessary checks