From 2acfc48de57162a0cedd14c66b8ea7e5fccb7c0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Fri, 9 Feb 2018 15:14:41 +0100 Subject: testlib: Pass on log message context to loggers Change-Id: I1e0bb09d4f96b45f1e9757ea25ae3aba1ae42447 Reviewed-by: Thiago Macieira --- src/testlib/qabstracttestlogger.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/testlib/qabstracttestlogger.cpp') diff --git a/src/testlib/qabstracttestlogger.cpp b/src/testlib/qabstracttestlogger.cpp index 8337600fa1..63c165b9dc 100644 --- a/src/testlib/qabstracttestlogger.cpp +++ b/src/testlib/qabstracttestlogger.cpp @@ -41,6 +41,7 @@ #include #include +#include #include #include @@ -121,6 +122,29 @@ void QAbstractTestLogger::stopLogging() { } +void QAbstractTestLogger::addMessage(QtMsgType type, const QMessageLogContext &context, + const QString &message) +{ + QAbstractTestLogger::MessageTypes messageType = [=]() { + switch (type) { + case QtDebugMsg: return QAbstractTestLogger::QDebug; + case QtInfoMsg: return QAbstractTestLogger::QInfo; + case QtCriticalMsg: return QAbstractTestLogger::QSystem; + case QtWarningMsg: return QAbstractTestLogger::QWarning; + case QtFatalMsg: return QAbstractTestLogger::QFatal; + } + Q_UNREACHABLE(); + return QAbstractTestLogger::QFatal; + }(); + + QString formattedMessage = qFormatLogMessage(type, context, message); + + // Note that we explicitly ignore the file and line of the context here, + // as that's what QTest::messageHandler used to do when calling the same + // overload directly. + addMessage(messageType, formattedMessage); +} + namespace QTest { -- cgit v1.2.3