aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@theqtcompany.com>2016-04-18 10:24:54 +0200
committerChristian Stenger <christian.stenger@theqtcompany.com>2016-04-18 11:01:50 +0000
commit104b434c8d39079f08f89dae52b52567cac35c8e (patch)
treef5d788c290f2840b235bab561128c8e370d4c0ac
parent334017be56d91bc6535bde8fe68b2bdb055ab950 (diff)
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 <david.schulz@theqtcompany.com>
-rw-r--r--src/plugins/autotest/testoutputreader.cpp7
-rw-r--r--src/plugins/autotest/testoutputreader.h1
-rw-r--r--src/plugins/autotest/testrunner.cpp1
3 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/autotest/testoutputreader.cpp b/src/plugins/autotest/testoutputreader.cpp
index 693a897e83..639c962b06 100644
--- a/src/plugins/autotest/testoutputreader.cpp
+++ b/src/plugins/autotest/testoutputreader.cpp
@@ -137,6 +137,13 @@ TestOutputReader::TestOutputReader(const QFutureInterface<TestResultPtr> &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<TestResultPtr> &futureInterface,
diff --git a/src/plugins/autotest/testoutputreader.h b/src/plugins/autotest/testoutputreader.h
index 1c557d9dd7..facb69b601 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<TestResultPtr> 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 c82bf911c8..9d412ec447 100644
--- a/src/plugins/autotest/testrunner.cpp
+++ b/src/plugins/autotest/testrunner.cpp
@@ -137,7 +137,6 @@ static void performTestRun(QFutureInterface<TestResultPtr> &futureInterface,
}
QProcess testProcess;
- testProcess.setReadChannelMode(QProcess::MergedChannels);
testProcess.setReadChannel(QProcess::StandardOutput);
futureInterface.setProgressRange(0, testCaseCount);