From e8420af07158dc3aa5c6ea7ddae6f8be4976e454 Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Tue, 7 Feb 2012 15:09:44 +1000 Subject: [PATCH] qmltest: Perform extra checks after each data row is executed. Add calls to the new function QTestResult::finishedCurrentTestData() to verify that expected failures and expected messages have been produced. Change-Id: Ia139a962c705a5f47be992b7f2e81775aa2e2f28 Reviewed-by: Rohan McGovern Reviewed-by: Yunqiao Yin --- src/imports/testlib/TestCase.qml | 5 ++++- src/qmltest/quicktest.cpp | 1 + src/qmltest/quicktestresult.cpp | 5 +++++ src/qmltest/quicktestresult_p.h | 1 + 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/imports/testlib/TestCase.qml b/src/imports/testlib/TestCase.qml index 5b853cb..a1ab85c 100644 --- a/src/imports/testlib/TestCase.qml +++ b/src/imports/testlib/TestCase.qml @@ -486,6 +486,7 @@ Item { if (!qtest_results.skipped) { qtest_results.functionType = TestResult.Func qtest_runInternal(prop, arg) + qtest_results.finishTestData() qtest_results.functionType = TestResult.CleanupFunc qtest_runInternal("cleanup") } @@ -510,7 +511,9 @@ Item { else qtest_results.startBenchmark(TestResult.RunOnce, qtest_results.dataTag) while (!qtest_results.isBenchmarkDone()) { - if (!qtest_runInternal(prop, arg)) + var success = qtest_runInternal(prop, arg) + qtest_results.finishTestData() + if (!success) break qtest_results.nextBenchmark() } diff --git a/src/qmltest/quicktest.cpp b/src/qmltest/quicktest.cpp index b1b9897..ed5fa7b 100644 --- a/src/qmltest/quicktest.cpp +++ b/src/qmltest/quicktest.cpp @@ -173,6 +173,7 @@ template void handleCompileErrors(const QFileInfo &fi, const View & // Fail with error 0. results.fail(errors.at(0).description(), errors.at(0).url(), errors.at(0).line()); + results.finishTestData(); results.finishTestFunction(); results.setFunctionName(QString()); results.setFunctionType(QuickTestResult::NoWhere); diff --git a/src/qmltest/quicktestresult.cpp b/src/qmltest/quicktestresult.cpp index bd47064..c1c5368 100644 --- a/src/qmltest/quicktestresult.cpp +++ b/src/qmltest/quicktestresult.cpp @@ -355,6 +355,11 @@ void QuickTestResult::clearTestTable() d->table = 0; } +void QuickTestResult::finishTestData() +{ + QTestResult::finishedCurrentTestData(); +} + void QuickTestResult::finishTestFunction() { QTestResult::finishedCurrentTestFunction(); diff --git a/src/qmltest/quicktestresult_p.h b/src/qmltest/quicktestresult_p.h index 26e1591..2c37fab 100644 --- a/src/qmltest/quicktestresult_p.h +++ b/src/qmltest/quicktestresult_p.h @@ -122,6 +122,7 @@ public Q_SLOTS: void initTestTable(); void clearTestTable(); + void finishTestData(); void finishTestFunction(); void fail(const QString &message, const QUrl &location, int line); -- 2.7.4