diff --git a/src/testlib/qtest.h b/src/testlib/qtest.h index 7c9a7b2b3f..7d2f3cea72 100644 --- a/src/testlib/qtest.h +++ b/src/testlib/qtest.h @@ -201,11 +201,17 @@ inline bool qCompare(QList const &t1, QList const &t2, const char *actual, } for (int i = 0; isOk && i < actualSize; ++i) { if (!(t1.at(i) == t2.at(i))) { + char *val1 = toString(t1.at(i)); + char *val2 = toString(t2.at(i)); + qsnprintf(msg, sizeof(msg), "Compared lists differ at index %d.\n" " Actual (%s): %s\n" - " Expected (%s): %s", i, actual, toString(t1.at(i)), - expected, toString(t2.at(i))); + " Expected (%s): %s", i, actual, val1 ? val1 : "", + expected, val2 ? val2 : ""); isOk = false; + + delete [] val1; + delete [] val2; } } return compare_helper(isOk, msg, 0, 0, actual, expected, file, line);