AutoTest: Refactor output handling

Handle getting output from application's process inside base class
and just process output inside the sub classes.
Additionally this is a preparation for being able to process output
for debugging tests as well.

Change-Id: I8a2289dc7faab25afe08530b5021a0318f3ba6a6
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2016-07-21 10:08:11 +02:00
parent ce8bff4b31
commit bb643a3cdc
6 changed files with 240 additions and 245 deletions

View File

@@ -38,14 +38,20 @@ TestOutputReader::TestOutputReader(const QFutureInterface<TestResultPtr> &future
, m_testApplication(testApplication)
, m_buildDir(buildDirectory)
{
connect(m_testApplication, &QProcess::readyRead, this, &TestOutputReader::processOutput);
connect(m_testApplication, &QProcess::readyRead,
this, [this] () {
while (m_testApplication->canReadLine())
processOutput(m_testApplication->readLine());
});
connect(m_testApplication, &QProcess::readyReadStandardError,
this, &TestOutputReader::processStdError);
this, [this] () {
processStdError(m_testApplication->readAllStandardError());
});
}
void TestOutputReader::processStdError()
void TestOutputReader::processStdError(const QByteArray &output)
{
qWarning() << "AutoTest.Run: Ignored plain output:" << m_testApplication->readAllStandardError();
qWarning() << "AutoTest.Run: Ignored plain output:" << output;
}
} // namespace Internal