From b6961c38b6d400b8021df012222d0c47a714b24e Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 20 Jun 2023 08:58:49 +0200 Subject: [PATCH] AutoTest: Fix special handling for boost exit ...especially for the case where the test output is suppressed. Change-Id: I7294af9e941d800b8aae65f7c2c6f898f2ac4e46 Reviewed-by: Jarek Kobus --- src/plugins/autotest/boost/boosttestoutputreader.cpp | 6 ------ src/plugins/autotest/boost/boosttestoutputreader.h | 2 +- src/plugins/autotest/testoutputreader.h | 2 ++ src/plugins/autotest/testrunner.cpp | 3 +++ 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/plugins/autotest/boost/boosttestoutputreader.cpp b/src/plugins/autotest/boost/boosttestoutputreader.cpp index 7042dabb597..c206b3b498a 100644 --- a/src/plugins/autotest/boost/boosttestoutputreader.cpp +++ b/src/plugins/autotest/boost/boosttestoutputreader.cpp @@ -31,12 +31,6 @@ BoostTestOutputReader::BoostTestOutputReader(Process *testApplication, , m_logLevel(log) , m_reportLevel(report) { - if (!testApplication) - return; - - connect(testApplication, &Process::done, this, [this, testApplication] { - onDone(testApplication->exitCode()); - }); } // content of "error:..." / "info:..." / ... messages diff --git a/src/plugins/autotest/boost/boosttestoutputreader.h b/src/plugins/autotest/boost/boosttestoutputreader.h index 648b55547f0..15564cc91f0 100644 --- a/src/plugins/autotest/boost/boosttestoutputreader.h +++ b/src/plugins/autotest/boost/boosttestoutputreader.h @@ -23,7 +23,7 @@ protected: TestResult createDefaultResult() const override; private: - void onDone(int exitCode); + void onDone(int exitCode) override; void sendCompleteInformation(); void handleMessageMatch(const QRegularExpressionMatch &match); void reportNoOutputFinish(const QString &description, ResultType type); diff --git a/src/plugins/autotest/testoutputreader.h b/src/plugins/autotest/testoutputreader.h index e87c463735a..247d036831a 100644 --- a/src/plugins/autotest/testoutputreader.h +++ b/src/plugins/autotest/testoutputreader.h @@ -28,6 +28,8 @@ public: void setId(const QString &id) { m_id = id; } QString id() const { return m_id; } + virtual void onDone(int exitCode) { Q_UNUSED(exitCode) } + void resetCommandlineColor(); signals: void newResult(const TestResult &result); diff --git a/src/plugins/autotest/testrunner.cpp b/src/plugins/autotest/testrunner.cpp index fee875f231c..b2670b6d555 100644 --- a/src/plugins/autotest/testrunner.cpp +++ b/src/plugins/autotest/testrunner.cpp @@ -419,6 +419,9 @@ void TestRunner::runTestsHelper() + processInformation(&process) + rcInfo(config)); } + if (testStorage->m_outputReader) + testStorage->m_outputReader->onDone(process.exitCode()); + if (process.exitStatus() == QProcess::CrashExit) { if (testStorage->m_outputReader) testStorage->m_outputReader->reportCrash();