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.

Change-Id: Ief0a6a6e04d628c98ed09c09334b694504cbff2c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 08ddf846aed3a14c485aa1d68bc3157e2420f316)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Axel Spoerl 2023-11-21 12:29:18 +01:00 committed by Qt Cherry-pick Bot
parent aab6df9541
commit fe2a4baa49

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());
}