forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -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,
|
||||
|
@@ -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;
|
||||
|
@@ -137,7 +137,6 @@ static void performTestRun(QFutureInterface<TestResultPtr> &futureInterface,
|
||||
}
|
||||
|
||||
QProcess testProcess;
|
||||
testProcess.setReadChannelMode(QProcess::MergedChannels);
|
||||
testProcess.setReadChannel(QProcess::StandardOutput);
|
||||
|
||||
futureInterface.setProgressRange(0, testCaseCount);
|
||||
|
Reference in New Issue
Block a user