From 424d30275c0d70698cbdd349f8026c38eebc59b7 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 6 Jan 2012 13:25:51 +0100 Subject: QMLTest: Fix output of file names, make output more verbose. - Check command line arguments thoroughly. - Change all QuickTestResult functions taking file names to accept QUrls and format them using QUrl::toLocalFile() in case of local file names in order to display Windows drive letters correctly. - Introduce a template function (for QDeclarativeView, QQuickView) that dumps out all available information when compilation goes wrong. - Skip 'Debug', 'Release' folders for Windows builds. Change-Id: Ibdd92867870a2b05494de8a0adbe0910d4897ba2 Reviewed-by: Yunqiao Yin --- src/qmltest/quicktestresult.cpp | 43 +++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 21 deletions(-) (limited to 'src/qmltest/quicktestresult.cpp') diff --git a/src/qmltest/quicktestresult.cpp b/src/qmltest/quicktestresult.cpp index 2feef36898..27bb4d6053 100644 --- a/src/qmltest/quicktestresult.cpp +++ b/src/qmltest/quicktestresult.cpp @@ -53,6 +53,8 @@ #include #include #include +#include +#include QT_BEGIN_NAMESPACE @@ -355,83 +357,82 @@ void QuickTestResult::finishTestFunction() QTestResult::finishedCurrentTestFunction(); } -static QString qtest_fixFile(const QString &file) +static QString qtestFixUrl(const QUrl &location) { - if (file.startsWith(QLatin1String("file://"))) - return file.mid(7); - else - return file; + if (location.isLocalFile()) // Use QUrl's logic for Windows drive letters. + return QDir::toNativeSeparators(location.toLocalFile()); + return location.toString(); } void QuickTestResult::fail - (const QString &message, const QString &file, int line) + (const QString &message, const QUrl &location, int line) { QTestResult::addFailure(message.toLatin1().constData(), - qtest_fixFile(file).toLatin1().constData(), line); + qtestFixUrl(location).toLatin1().constData(), line); } bool QuickTestResult::verify - (bool success, const QString &message, const QString &file, int line) + (bool success, const QString &message, const QUrl &location, int line) { if (!success && message.isEmpty()) { return QTestResult::verify (success, "verify()", "", - qtest_fixFile(file).toLatin1().constData(), line); + qtestFixUrl(location).toLatin1().constData(), line); } else { return QTestResult::verify (success, message.toLatin1().constData(), "", - qtest_fixFile(file).toLatin1().constData(), line); + qtestFixUrl(location).toLatin1().constData(), line); } } bool QuickTestResult::compare (bool success, const QString &message, const QString &val1, const QString &val2, - const QString &file, int line) + const QUrl &location, int line) { if (success) { return QTestResult::compare (success, message.toLocal8Bit().constData(), - qtest_fixFile(file).toLatin1().constData(), line); + qtestFixUrl(location).toLatin1().constData(), line); } else { return QTestResult::compare (success, message.toLocal8Bit().constData(), QTest::toString(val1.toLatin1().constData()), QTest::toString(val2.toLatin1().constData()), "", "", - qtest_fixFile(file).toLatin1().constData(), line); + qtestFixUrl(location).toLatin1().constData(), line); } } void QuickTestResult::skip - (const QString &message, const QString &file, int line) + (const QString &message, const QUrl &location, int line) { QTestResult::addSkip(message.toLatin1().constData(), - qtest_fixFile(file).toLatin1().constData(), line); + qtestFixUrl(location).toLatin1().constData(), line); QTestResult::setSkipCurrentTest(true); } bool QuickTestResult::expectFail - (const QString &tag, const QString &comment, const QString &file, int line) + (const QString &tag, const QString &comment, const QUrl &location, int line) { return QTestResult::expectFail (tag.toLatin1().constData(), QTest::toString(comment.toLatin1().constData()), - QTest::Abort, qtest_fixFile(file).toLatin1().constData(), line); + QTest::Abort, qtestFixUrl(location).toLatin1().constData(), line); } bool QuickTestResult::expectFailContinue - (const QString &tag, const QString &comment, const QString &file, int line) + (const QString &tag, const QString &comment, const QUrl &location, int line) { return QTestResult::expectFail (tag.toLatin1().constData(), QTest::toString(comment.toLatin1().constData()), - QTest::Continue, qtest_fixFile(file).toLatin1().constData(), line); + QTest::Continue, qtestFixUrl(location).toLatin1().constData(), line); } -void QuickTestResult::warn(const QString &message, const QString &file, int line) +void QuickTestResult::warn(const QString &message, const QUrl &location, int line) { - QTestLog::warn(message.toLatin1().constData(), qtest_fixFile(file).toLatin1().constData(), line); + QTestLog::warn(message.toLatin1().constData(), qtestFixUrl(location).toLatin1().constData(), line); } void QuickTestResult::ignoreWarning(const QString &message) -- cgit v1.2.3