summaryrefslogtreecommitdiffstats
path: root/src/testlib/qabstracttestlogger.cpp
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-02-09 15:14:41 +0100
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-02-21 16:27:37 +0000
commit2acfc48de57162a0cedd14c66b8ea7e5fccb7c0d (patch)
tree8c3f27870ebe5761a65521a9b721bdf4ecfd8a4b /src/testlib/qabstracttestlogger.cpp
parent9395f35cb18725995910531ca8b09f1d84efa96c (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.cpp24
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
{