From fdebf0343de843fbeadc6a250a0c6b8a9aa10f94 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 13 Jan 2023 12:30:42 +0100 Subject: [PATCH] TestRunner: Merge 2 public methods into one Merge setSelectedTests() and prepareToRunTests() into runTests(). Change-Id: I908c41483f05eeaec186f362391941a797d66e6a Reviewed-by: Christian Stenger --- src/plugins/autotest/autotestplugin.cpp | 15 ++++-------- src/plugins/autotest/testresultspane.cpp | 6 ++--- src/plugins/autotest/testrunner.cpp | 30 ++++++++++-------------- src/plugins/autotest/testrunner.h | 6 ++--- 4 files changed, 21 insertions(+), 36 deletions(-) diff --git a/src/plugins/autotest/autotestplugin.cpp b/src/plugins/autotest/autotestplugin.cpp index 9d164914990..3e73fde54e0 100644 --- a/src/plugins/autotest/autotestplugin.cpp +++ b/src/plugins/autotest/autotestplugin.cpp @@ -343,14 +343,12 @@ ExtensionSystem::IPlugin::ShutdownFlag AutotestPlugin::aboutToShutdown() void AutotestPluginPrivate::onRunAllTriggered(TestRunMode mode) { - m_testRunner.setSelectedTests(m_testTreeModel.getAllTestCases()); - m_testRunner.prepareToRunTests(mode); + m_testRunner.runTests(mode, m_testTreeModel.getAllTestCases()); } void AutotestPluginPrivate::onRunSelectedTriggered(TestRunMode mode) { - m_testRunner.setSelectedTests(m_testTreeModel.getSelectedTests()); - m_testRunner.prepareToRunTests(mode); + m_testRunner.runTests(mode, m_testTreeModel.getSelectedTests()); } void AutotestPluginPrivate::onRunFailedTriggered() @@ -358,8 +356,7 @@ void AutotestPluginPrivate::onRunFailedTriggered() const QList failed = m_testTreeModel.getFailedTests(); if (failed.isEmpty()) // the framework might not be able to provide them return; - m_testRunner.setSelectedTests(failed); - m_testRunner.prepareToRunTests(TestRunMode::Run); + m_testRunner.runTests(TestRunMode::Run, failed); } void AutotestPluginPrivate::onRunFileTriggered() @@ -376,8 +373,7 @@ void AutotestPluginPrivate::onRunFileTriggered() if (tests.isEmpty()) return; - m_testRunner.setSelectedTests(tests); - m_testRunner.prepareToRunTests(TestRunMode::Run); + m_testRunner.runTests(TestRunMode::Run, tests); } static QList testItemsToTestConfigurations(const QList &items, @@ -442,8 +438,7 @@ void AutotestPluginPrivate::onRunUnderCursorTriggered(TestRunMode mode) return; } - m_testRunner.setSelectedTests(testsToRun); - m_testRunner.prepareToRunTests(mode); + m_testRunner.runTests(mode, testsToRun); } void AutotestPlugin::updateMenuItemsEnabledState() diff --git a/src/plugins/autotest/testresultspane.cpp b/src/plugins/autotest/testresultspane.cpp index ae128a5b579..86200584322 100644 --- a/src/plugins/autotest/testresultspane.cpp +++ b/src/plugins/autotest/testresultspane.cpp @@ -465,15 +465,13 @@ void TestResultsPane::onItemActivated(const QModelIndex &index) void TestResultsPane::onRunAllTriggered() { TestRunner *runner = TestRunner::instance(); - runner->setSelectedTests(TestTreeModel::instance()->getAllTestCases()); - runner->prepareToRunTests(TestRunMode::Run); + runner->runTests(TestRunMode::Run, TestTreeModel::instance()->getAllTestCases()); } void TestResultsPane::onRunSelectedTriggered() { TestRunner *runner = TestRunner::instance(); - runner->setSelectedTests(TestTreeModel::instance()->getSelectedTests()); - runner->prepareToRunTests(TestRunMode::Run); + runner->runTests(TestRunMode::Run, TestTreeModel::instance()->getSelectedTests()); } void TestResultsPane::initializeFilterMenu() diff --git a/src/plugins/autotest/testrunner.cpp b/src/plugins/autotest/testrunner.cpp index 2fad3e2199f..aa282e98a2f 100644 --- a/src/plugins/autotest/testrunner.cpp +++ b/src/plugins/autotest/testrunner.cpp @@ -93,23 +93,13 @@ TestRunner::~TestRunner() s_instance = nullptr; } -void TestRunner::setSelectedTests(const QList &selected) -{ - QTC_ASSERT(!m_executingTests, return); - qDeleteAll(m_selectedTests); - m_selectedTests.clear(); - m_selectedTests.append(selected); -} - void TestRunner::runTest(TestRunMode mode, const ITestTreeItem *item) { QTC_ASSERT(!m_executingTests, return); ITestConfiguration *configuration = item->asConfiguration(mode); - if (configuration) { - setSelectedTests({configuration}); - prepareToRunTests(mode); - } + if (configuration) + runTests(mode, {configuration}); } static QString processInformation(const QtcProcess *proc) @@ -346,9 +336,13 @@ void TestRunner::resetInternalPointers() m_currentConfig = nullptr; } -void TestRunner::prepareToRunTests(TestRunMode mode) +void TestRunner::runTests(TestRunMode mode, const QList &selectedTests) { QTC_ASSERT(!m_executingTests, return); + qDeleteAll(m_selectedTests); + m_selectedTests.clear(); + m_selectedTests.append(selectedTests); + m_skipTargetsCheck = false; m_runMode = mode; const ProjectExplorerSettings projectExplorerSettings @@ -504,7 +498,7 @@ void TestRunner::onBuildSystemUpdated() } } -void TestRunner::runTests() +void TestRunner::runTestsHelper() { QList toBeRemoved; bool projectChanged = false; @@ -716,7 +710,7 @@ void TestRunner::runOrDebugTests() case TestRunMode::Run: case TestRunMode::RunWithoutDeploy: case TestRunMode::RunAfterBuild: - runTests(); + runTestsHelper(); return; case TestRunMode::Debug: case TestRunMode::DebugWithoutDeploy: @@ -789,9 +783,9 @@ void TestRunner::onBuildQueueFinished(bool success) if (!testTreeModel->hasTests()) return; - setSelectedTests(mode == RunAfterBuildMode::All ? testTreeModel->getAllTestCases() - : testTreeModel->getSelectedTests()); - prepareToRunTests(TestRunMode::RunAfterBuild); + const QList tests = mode == RunAfterBuildMode::All + ? testTreeModel->getAllTestCases() : testTreeModel->getSelectedTests(); + runTests(TestRunMode::RunAfterBuild, tests); } void TestRunner::onFinished() diff --git a/src/plugins/autotest/testrunner.h b/src/plugins/autotest/testrunner.h index fad1695733c..f2d78dd0d4a 100644 --- a/src/plugins/autotest/testrunner.h +++ b/src/plugins/autotest/testrunner.h @@ -42,12 +42,10 @@ public: static TestRunner* instance(); - void setSelectedTests(const QList &selected); + void runTests(TestRunMode mode, const QList &selectedTests); void runTest(TestRunMode mode, const ITestTreeItem *item); bool isTestRunning() const { return m_executingTests; } - void prepareToRunTests(TestRunMode mode); - signals: void testRunStarted(); void testRunFinished(); @@ -71,7 +69,7 @@ private: void onProcessDone(); void resetInternalPointers(); - void runTests(); + void runTestsHelper(); void debugTests(); void runOrDebugTests(); void reportResult(ResultType type, const QString &description);