From fe2a4baa4963068d827c2704ede17221f29dbad6 Mon Sep 17 00:00:00 2001 From: Axel Spoerl Date: Tue, 21 Nov 2023 12:29:18 +0100 Subject: [PATCH] QAppleTestLogger: Add source link to failure messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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ø (cherry picked from commit 08ddf846aed3a14c485aa1d68bc3157e2420f316) Reviewed-by: Qt Cherry-pick Bot --- src/testlib/qappletestlogger.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/testlib/qappletestlogger.cpp b/src/testlib/qappletestlogger.cpp index 43968e7ebe8..7517a953447 100644 --- a/src/testlib/qappletestlogger.cpp +++ b/src/testlib/qappletestlogger.cpp @@ -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()); }