diff options
author | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-10-29 14:10:36 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-10-30 21:28:20 +0000 |
commit | d946507727b363326d05f48da93c2af04bdda76d (patch) | |
tree | 5c67c80cf174c50ee4b7e625332f5268725cebef | |
parent | 11638dad106cee87eec2f6cafbfd6c7879c5e689 (diff) | |
download | qtbase-d946507727b363326d05f48da93c2af04bdda76d.tar.gz |
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 <frederik.gladhorn@theqtcompany.com>
-rw-r--r-- | src/testlib/qtestresult.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
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). |