diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2018-02-09 15:14:41 +0100 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2018-02-21 16:27:37 +0000 |
commit | 2acfc48de57162a0cedd14c66b8ea7e5fccb7c0d (patch) | |
tree | 8c3f27870ebe5761a65521a9b721bdf4ecfd8a4b /src/testlib/qabstracttestlogger.cpp | |
parent | 9395f35cb18725995910531ca8b09f1d84efa96c (diff) |
testlib: Pass on log message context to loggers
Change-Id: I1e0bb09d4f96b45f1e9757ea25ae3aba1ae42447
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/testlib/qabstracttestlogger.cpp')
-rw-r--r-- | src/testlib/qabstracttestlogger.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
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 <QtTest/qtestassert.h> #include <QtCore/qbytearray.h> +#include <QtCore/qstring.h> #include <stdio.h> #include <stdlib.h> @@ -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 { |