From 104b434c8d39079f08f89dae52b52567cac35c8e Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Mon, 18 Apr 2016 10:24:54 +0200 Subject: [PATCH] AutoTest: Fix processing of output In case a (Qt) test process produces output that does not belong to the standard test output we might ended without processable output at all. Avoid this by just handling the output that is given on stdout for now. Change-Id: If5ee70140b95cb61422e58a7610b7fe2d09915c2 Reviewed-by: David Schulz --- src/plugins/autotest/testoutputreader.cpp | 7 +++++++ src/plugins/autotest/testoutputreader.h | 1 + src/plugins/autotest/testrunner.cpp | 1 - 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/plugins/autotest/testoutputreader.cpp b/src/plugins/autotest/testoutputreader.cpp index 693a897e831..639c962b06b 100644 --- a/src/plugins/autotest/testoutputreader.cpp +++ b/src/plugins/autotest/testoutputreader.cpp @@ -137,6 +137,13 @@ TestOutputReader::TestOutputReader(const QFutureInterface &future , m_buildDir(buildDirectory) { connect(m_testApplication, &QProcess::readyRead, this, &TestOutputReader::processOutput); + connect(m_testApplication, &QProcess::readyReadStandardError, + this, &TestOutputReader::processStdError); +} + +void TestOutputReader::processStdError() +{ + qWarning() << "Ignored plain output:" << m_testApplication->readAllStandardError(); } QtTestOutputReader::QtTestOutputReader(const QFutureInterface &futureInterface, diff --git a/src/plugins/autotest/testoutputreader.h b/src/plugins/autotest/testoutputreader.h index 1c557d9dd74..facb69b6014 100644 --- a/src/plugins/autotest/testoutputreader.h +++ b/src/plugins/autotest/testoutputreader.h @@ -49,6 +49,7 @@ public: protected: virtual void processOutput() = 0; + virtual void processStdError(); QFutureInterface m_futureInterface; QProcess *m_testApplication; // not owned QString m_buildDir; diff --git a/src/plugins/autotest/testrunner.cpp b/src/plugins/autotest/testrunner.cpp index c82bf911c83..9d412ec4476 100644 --- a/src/plugins/autotest/testrunner.cpp +++ b/src/plugins/autotest/testrunner.cpp @@ -137,7 +137,6 @@ static void performTestRun(QFutureInterface &futureInterface, } QProcess testProcess; - testProcess.setReadChannelMode(QProcess::MergedChannels); testProcess.setReadChannel(QProcess::StandardOutput); futureInterface.setProgressRange(0, testCaseCount);