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/qtestlog.cpp | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) (limited to 'src/testlib/qtestlog.cpp') diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp index 5bbf2c6458..4964c6538e 100644 --- a/src/testlib/qtestlog.cpp +++ b/src/testlib/qtestlog.cpp @@ -220,6 +220,12 @@ namespace QTest { FOREACH_LOGGER(logger->addBenchmarkResult(result)); } + static void addMessage(QtMsgType type, const QMessageLogContext &context, + const QString &message) + { + FOREACH_LOGGER(logger->addMessage(type, context, message)); + } + static void addMessage(QAbstractTestLogger::MessageTypes type, const QString &message, const char *file = 0, int line = 0) { @@ -289,11 +295,10 @@ namespace QTest { QTEST_ASSERT(QTest::TestLoggers::loggerCount() != 0); } - if (handleIgnoredMessage(type, message)) + if (handleIgnoredMessage(type, message)) { // the message is expected, so just swallow it. return; - - QString msg = qFormatLogMessage(type, context, message); + } if (type != QtFatalMsg) { if (counter.load() <= 0) @@ -306,22 +311,10 @@ namespace QTest { } } - switch (type) { - case QtDebugMsg: - QTest::TestLoggers::addMessage(QAbstractTestLogger::QDebug, msg); - break; - case QtInfoMsg: - QTest::TestLoggers::addMessage(QAbstractTestLogger::QInfo, msg); - break; - case QtCriticalMsg: - QTest::TestLoggers::addMessage(QAbstractTestLogger::QSystem, msg); - break; - case QtWarningMsg: - QTest::TestLoggers::addMessage(QAbstractTestLogger::QWarning, msg); - break; - case QtFatalMsg: - QTest::TestLoggers::addMessage(QAbstractTestLogger::QFatal, msg); - /* Right now, we're inside the custom message handler and we're + QTest::TestLoggers::addMessage(type, context, message); + + if (type == QtFatalMsg) { + /* Right now, we're inside the custom message handler and we're * being qt_message_output in qglobal.cpp. After we return from * this function, it will proceed with calling exit() and abort() * and hence crash. Therefore, we call these logging functions such @@ -329,7 +322,6 @@ namespace QTest { QTestResult::addFailure("Received a fatal error.", "Unknown file", 0); QTestLog::leaveTestFunction(); QTestLog::stopLogging(); - break; } } } -- cgit v1.2.3