AutoTest: Fix displaying XML content

CDATA sections that have line breaks at their line ends
within a multiline CDATA section should get handled
that these (inner) line breaks do not get lost.
This patch fixes displaying failed Qt tests when using
the XML output.

Change-Id: I3aa7100836613372ac5b2b409c5cfacfb34209ba
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2018-11-05 15:58:27 +01:00
parent 2cf2cebfc9
commit 3056105c66
7 changed files with 28 additions and 18 deletions

View File

@@ -329,7 +329,7 @@ static QStringList extractFunctionInformation(const QString &testClassName,
return result;
}
void QtTestOutputReader::processPlainTextOutput(const QByteArray &outputLine)
void QtTestOutputReader::processPlainTextOutput(const QByteArray &outputLineWithNewLine)
{
static QRegExp start("^[*]{9} Start testing of (.*) [*]{9}$");
static QRegExp config("^Config: Using QtTest library (.*), (Qt (\\d+(\\.\\d+){2}) \\(.*\\))$");
@@ -346,7 +346,7 @@ void QtTestOutputReader::processPlainTextOutput(const QByteArray &outputLine)
if (m_futureInterface.isCanceled())
return;
const QString &line = QString::fromLatin1(outputLine);
const QString line = QString::fromLatin1(chopLineBreak(outputLineWithNewLine));
if (result.exactMatch(line)) {
processResultOutput(result.cap(1).toLower().trimmed(), result.cap(2));