diff --git a/src/plugins/autotest/testoutputreader.cpp b/src/plugins/autotest/testoutputreader.cpp index b17af8ec739..c4215b68521 100644 --- a/src/plugins/autotest/testoutputreader.cpp +++ b/src/plugins/autotest/testoutputreader.cpp @@ -66,6 +66,14 @@ void TestOutputReader::processStdError(const QByteArray &output) qWarning() << "AutoTest.Run: Ignored plain output:" << output; } +void TestOutputReader::reportCrash() +{ + TestResultPtr result = createDefaultResult(); + result->setDescription(tr("Test executable crashed.")); + result->setResult(Result::MessageFatal); + m_futureInterface.reportResult(result); +} + void TestOutputReader::reportResult(const TestResultPtr &result) { m_futureInterface.reportResult(result); diff --git a/src/plugins/autotest/testoutputreader.h b/src/plugins/autotest/testoutputreader.h index 7d423feb41f..bcb5e4614ed 100644 --- a/src/plugins/autotest/testoutputreader.h +++ b/src/plugins/autotest/testoutputreader.h @@ -44,6 +44,7 @@ public: virtual void processOutput(const QByteArray &outputLine) = 0; virtual void processStdError(const QByteArray &output); + void reportCrash(); bool hadValidOutput() const { return m_hadValidOutput; } signals: diff --git a/src/plugins/autotest/testrunner.cpp b/src/plugins/autotest/testrunner.cpp index 1d9fbdc00e5..828a9700c84 100644 --- a/src/plugins/autotest/testrunner.cpp +++ b/src/plugins/autotest/testrunner.cpp @@ -253,6 +253,7 @@ static void performTestRun(QFutureInterface &futureInterface, + rcInfo(testConfiguration)))); } if (testProcess.exitStatus() == QProcess::CrashExit) { + outputReader->reportCrash(); futureInterface.reportResult(TestResultPtr(new FaultyTestResult(Result::MessageFatal, TestRunner::tr("Test for project \"%1\" crashed.") .arg(testConfiguration->displayName()) + processInformation(testProcess)