QAppleTestLogger: Add source link to failure messages

The apple test logger did not include the failure location in the log
output, because the assumption was that the structured logging would
report the file and line separately.

Unfortunately we can't do that using the os_log machinery just yet,
so we bring in the manual location printing as in the plain text
logger.

Pick-to: 6.7
Change-Id: Ief0a6a6e04d628c98ed09c09334b694504cbff2c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
bb10
Axel Spoerl 2023-11-21 12:29:18 +01:00 committed by Tor Arne Vestbø
parent 091096fed7
commit 08ddf846ae
1 changed files with 8 additions and 0 deletions

View File

@ -104,6 +104,14 @@ void QAppleTestLogger::addIncident(IncidentTypes type, const char *description,
if (qstrlen(description))
message += u'\n' % QString::fromLatin1(description);
// As long as the Apple logger doesn't propagate the context's file and
// line number we need to manually print it.
if (context.line && context.file) {
QTestCharBuffer line;
QTest::qt_asprintf(&line, "\n [Loc: %s:%d]", context.file, context.line);
message += QLatin1String(line.data());
}
AppleUnifiedLogger::messageHandler(messageData.messageType, context, message, subsystem());
}