From d946507727b363326d05f48da93c2af04bdda76d Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 29 Oct 2015 14:10:36 +0100 Subject: Testlib: Avoid formatting unneeded messages. Brings down gui/painting/qcolor from 7s to 3s, reducing the calls to printf() helpers from 16E6 to 10E6. Task-number: QTBUG-38890 Change-Id: I34065e6f09fc9a14920b06aa6936908229f3f9c4 Reviewed-by: Frederik Gladhorn --- src/testlib/qtestresult.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'src/testlib') diff --git a/src/testlib/qtestresult.cpp b/src/testlib/qtestresult.cpp index c65927ba7c..24689c6e87 100644 --- a/src/testlib/qtestresult.cpp +++ b/src/testlib/qtestresult.cpp @@ -235,17 +235,17 @@ bool QTestResult::verify(bool statement, const char *statementStr, { QTEST_ASSERT(statementStr); - char msg[1024]; + char msg[1024] = {'\0'}; if (QTestLog::verboseLevel() >= 2) { qsnprintf(msg, 1024, "QVERIFY(%s)", statementStr); QTestLog::info(msg, file, line); } - const char * format = QTest::expectFailMode - ? "'%s' returned TRUE unexpectedly. (%s)" - : "'%s' returned FALSE. (%s)"; - qsnprintf(msg, 1024, format, statementStr, description ? description : ""); + if (!statement && !QTest::expectFailMode) + qsnprintf(msg, 1024, "'%s' returned FALSE. (%s)", statementStr, description ? description : ""); + else if (statement && QTest::expectFailMode) + qsnprintf(msg, 1024, "'%s' returned TRUE unexpectedly. (%s)", statementStr, description ? description : ""); return checkStatement(statement, msg, file, line); } @@ -259,7 +259,7 @@ bool QTestResult::compare(bool success, const char *failureMsg, QTEST_ASSERT(actual); const size_t maxMsgLen = 1024; - char msg[maxMsgLen]; + char msg[maxMsgLen] = {'\0'}; if (QTestLog::verboseLevel() >= 2) { qsnprintf(msg, maxMsgLen, "QCOMPARE(%s, %s)", actual, expected); @@ -269,9 +269,11 @@ bool QTestResult::compare(bool success, const char *failureMsg, if (!failureMsg) failureMsg = "Compared values are not the same"; - if (success && QTest::expectFailMode) { - qsnprintf(msg, maxMsgLen, - "QCOMPARE(%s, %s) returned TRUE unexpectedly.", actual, expected); + if (success) { + if (QTest::expectFailMode) { + qsnprintf(msg, maxMsgLen, + "QCOMPARE(%s, %s) returned TRUE unexpectedly.", actual, expected); + } } else if (val1 || val2) { size_t len1 = mbstowcs(NULL, actual, maxMsgLen); // Last parameter is not ignored on QNX size_t len2 = mbstowcs(NULL, expected, maxMsgLen); // (result is never larger than this). -- cgit v1.2.3