diff --git a/src/plugins/autotest/gtest/gtestoutputreader.cpp b/src/plugins/autotest/gtest/gtestoutputreader.cpp index 95cbbc8e902..b24291caeb5 100644 --- a/src/plugins/autotest/gtest/gtestoutputreader.cpp +++ b/src/plugins/autotest/gtest/gtestoutputreader.cpp @@ -23,18 +23,6 @@ GTestOutputReader::GTestOutputReader(Process *testApplication, : TestOutputReader(testApplication, buildDirectory) , m_projectFile(projectFile) { - if (testApplication) { - connect(testApplication, &Process::done, this, [this, testApplication] { - const int exitCode = testApplication->exitCode(); - if (exitCode == 1 && !m_description.isEmpty()) { - createAndReportResult(Tr::tr("Running tests failed.\n %1\nExecutable: %2") - .arg(m_description).arg(id()), ResultType::MessageFatal); - } - // on Windows abort() will result in normal termination, but exit code will be set to 3 - if (HostOsInfo::isWindowsHost() && exitCode == 3) - reportCrash(); - }); - } } void GTestOutputReader::processOutputLine(const QByteArray &outputLine) @@ -182,6 +170,17 @@ TestResult GTestOutputReader::createDefaultResult() const return result; } +void GTestOutputReader::onDone(int exitCode) +{ + if (exitCode == 1 && !m_description.isEmpty()) { + createAndReportResult(Tr::tr("Running tests failed.\n %1\nExecutable: %2") + .arg(m_description).arg(id()), ResultType::MessageFatal); + } + // on Windows abort() will result in normal termination, but exit code will be set to 3 + if (HostOsInfo::isWindowsHost() && exitCode == 3) + reportCrash(); +} + void GTestOutputReader::setCurrentTestCase(const QString &testCase) { m_currentTestCase = testCase; diff --git a/src/plugins/autotest/gtest/gtestoutputreader.h b/src/plugins/autotest/gtest/gtestoutputreader.h index a63c5668295..e098f3870a5 100644 --- a/src/plugins/autotest/gtest/gtestoutputreader.h +++ b/src/plugins/autotest/gtest/gtestoutputreader.h @@ -19,6 +19,7 @@ protected: TestResult createDefaultResult() const override; private: + void onDone(int exitCode) override; void setCurrentTestCase(const QString &testCase); void setCurrentTestSuite(const QString &testSuite); void handleDescriptionAndReportResult(const TestResult &testResult);