From e5bfb9719bc76ca5bd73c5d7503cd2335cabb5fc Mon Sep 17 00:00:00 2001 From: David Faure Date: Sun, 29 Dec 2013 10:07:24 +0100 Subject: [PATCH] QTestLib: use QT_MESSAGE_PATTERN when showing debug output This makes debugging much more convenient, being able to see e.g. the method name where qDebug is used. Note that this doesn't break ignored messages, since qMessageFormatString is only called after the test for ignored messages. Change-Id: I7fc96e3f19efe48ac3a30fdd63e5b495c0d86e02 Reviewed-by: Kai Koehne Reviewed-by: Jason McDonald --- src/testlib/qtestlog.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp index 60f3630709..bbca5b94e5 100644 --- a/src/testlib/qtestlog.cpp +++ b/src/testlib/qtestlog.cpp @@ -56,6 +56,8 @@ QT_BEGIN_NAMESPACE +Q_CORE_EXPORT QString qMessageFormatString(QtMsgType type, const QMessageLogContext &context, const QString& msg); + static void saveCoverageTool(const char * appname, bool testfailed, bool installedTestCoverage) { #ifdef __COVERAGESCANNER__ @@ -230,7 +232,7 @@ namespace QTest { return false; } - static void messageHandler(QtMsgType type, const QMessageLogContext & /*context*/, const QString &message) + static void messageHandler(QtMsgType type, const QMessageLogContext & context, const QString &message) { static QBasicAtomicInt counter = Q_BASIC_ATOMIC_INITIALIZER(QTest::maxWarnings); @@ -245,6 +247,9 @@ namespace QTest { // the message is expected, so just swallow it. return; + msg = qMessageFormatString(type, context, message).toLocal8Bit(); + msg.chop(1); // remove trailing newline + if (type != QtFatalMsg) { if (counter.load() <= 0) return;