From c5be97bce730a728930ceb2f6a4496ae4d67abcd Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Thu, 16 Dec 2010 11:40:25 +1000 Subject: Print the available tests when -functions supplied --- src/imports/testlib/TestCase.qml | 23 +++++++++++++++++++++++ src/quicktestlib/quicktest.cpp | 8 +++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/imports/testlib/TestCase.qml b/src/imports/testlib/TestCase.qml index f4ce323..b61a44d 100644 --- a/src/imports/testlib/TestCase.qml +++ b/src/imports/testlib/TestCase.qml @@ -367,6 +367,11 @@ Item { } function qtest_run() { + if (Qt.qtest_printAvailableFunctions) { + completed = true + return + } + if (TestLogger.log_start_test()) { qtest_results.reset() qtest_results.testCaseName = name @@ -481,6 +486,24 @@ Item { } Component.onCompleted: { + if (Qt.qtest_printAvailableFunctions) { + var testList = [] + for (var prop in testCase) { + if (prop.indexOf("test_") != 0 && prop.indexOf("benchmark_") != 0) + continue + var tail = prop.lastIndexOf("_data"); + if (tail != -1 && tail == (prop.length - 5)) + continue + if (name.length > 0) + testList.push(name + "::" + prop + "()") + else + testList.push(prop + "()") + } + testList.sort() + for (var index in testList) + console.log(testList[index]) + return + } qtest_testId = TestLogger.log_register_test(name) if (optional) TestLogger.log_optional_test(qtest_testId) diff --git a/src/quicktestlib/quicktest.cpp b/src/quicktestlib/quicktest.cpp index 826c90f..718c6e9 100644 --- a/src/quicktestlib/quicktest.cpp +++ b/src/quicktestlib/quicktest.cpp @@ -42,6 +42,7 @@ #include "quicktest.h" #include "quicktestresult_p.h" #include "qtestsystem.h" +#include "qtestoptions_p.h" #include #include #include @@ -199,7 +200,10 @@ int quick_test_main(int argc, char **argv, const char *name, quick_test_viewport QScriptValue qtObject = engine->globalObject().property(QLatin1String("Qt")); qtObject.setProperty - (QLatin1String("qtest_wrapper"), engine->newVariant(true)); + (QLatin1String("qtest_wrapper"), QScriptValue(true)); + qtObject.setProperty + (QLatin1String("qtest_printAvailableFunctions"), + QScriptValue(QTest::printAvailableFunctions)); foreach (QString path, imports) view.engine()->addImportPath(path); QString path = fi.absoluteFilePath(); @@ -207,6 +211,8 @@ int quick_test_main(int argc, char **argv, const char *name, quick_test_viewport view.setSource(QUrl(QLatin1String("qrc:") + path.mid(2))); else view.setSource(QUrl::fromLocalFile(path)); + if (QTest::printAvailableFunctions) + continue; if (view.status() == QDeclarativeView::Error) { // Error compiling the test - flag failure in the log and continue. QList errors = view.errors(); -- cgit v1.2.3