diff options
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/xmlpatternssdk/TestCase.cpp | 9 | ||||
-rw-r--r-- | tests/auto/xmlpatternssdk/TreeItem.cpp | 4 | ||||
-rw-r--r-- | tests/auto/xmlpatternssdk/TreeItem.h | 3 | ||||
-rw-r--r-- | tests/auto/xmlpatternsxqts/tst_suitetest.cpp | 9 |
4 files changed, 24 insertions, 1 deletions
diff --git a/tests/auto/xmlpatternssdk/TestCase.cpp b/tests/auto/xmlpatternssdk/TestCase.cpp index 642e84d..9ae86ad 100644 --- a/tests/auto/xmlpatternssdk/TestCase.cpp +++ b/tests/auto/xmlpatternssdk/TestCase.cpp @@ -71,6 +71,13 @@ static bool lessThan(const char *a, const char *b) TestResult::List TestCase::execute(const ExecutionStage stage, TestSuite *) { + ++TestCase::executions; + + if ((TestCase::executions < TestCase::executeRange.first) || (TestCase::executions > TestCase::executeRange.second)) { + qDebug("Skipping test case #%6d", TestCase::executions); + return TestResult::List(); + } + const QByteArray nm = name().toAscii(); if(name() == QLatin1String("Constr-cont-document-3")) @@ -124,7 +131,7 @@ TestResult::List TestCase::execute(const ExecutionStage stage, } - qDebug() << "Running test case: " << nm; + qDebug("Running test case #%6d: %s", TestCase::executions, nm.constData()); return execute(stage); Q_ASSERT(false); diff --git a/tests/auto/xmlpatternssdk/TreeItem.cpp b/tests/auto/xmlpatternssdk/TreeItem.cpp index 9b91f0c..6c8c265 100644 --- a/tests/auto/xmlpatternssdk/TreeItem.cpp +++ b/tests/auto/xmlpatternssdk/TreeItem.cpp @@ -51,4 +51,8 @@ int TreeItem::row() const return -1; } +QPair<int, int> TreeItem::executeRange = qMakePair<int,int>(0,INT_MAX); +int TreeItem::executions = 0; + + // vim: et:ts=4:sw=4:sts=4 diff --git a/tests/auto/xmlpatternssdk/TreeItem.h b/tests/auto/xmlpatternssdk/TreeItem.h index 802b09f..f6a4fa1 100644 --- a/tests/auto/xmlpatternssdk/TreeItem.h +++ b/tests/auto/xmlpatternssdk/TreeItem.h @@ -84,6 +84,9 @@ namespace QPatternistSDK virtual QVariant data(const Qt::ItemDataRole role, int column) const = 0; + static QPair<int,int> executeRange; + static int executions; + Q_SIGNALS: /** * Emitted whenever this item changed. This is used for keeping diff --git a/tests/auto/xmlpatternsxqts/tst_suitetest.cpp b/tests/auto/xmlpatternsxqts/tst_suitetest.cpp index 4fdb7b5..4785067 100644 --- a/tests/auto/xmlpatternsxqts/tst_suitetest.cpp +++ b/tests/auto/xmlpatternsxqts/tst_suitetest.cpp @@ -35,6 +35,8 @@ #include <QtTest/QtTest> #include <QProcess> +#include <cstdlib> + #include "TestSuite.h" #include "TestSuiteResult.h" #include "XMLWriter.h" @@ -70,6 +72,13 @@ void tst_SuiteTest::runTestSuite() const if(m_abortRun) QSKIP("The test suite is not available, no tests are run."); + QByteArray range = qgetenv("XMLPATTERNSXQTS_TESTRANGE"); + char *endptr; + TreeItem::executeRange.first = strtol(range.constData(), &endptr, 10); + long e = 0; + if (endptr - range.constData() < range.size()) + e = strtol(endptr + 1, &endptr, 10); + TreeItem::executeRange.second = (e == 0 ? INT_MAX : e); QString errMsg; const QFileInfo fi(m_catalogPath); const QUrl catalogPath(QUrl::fromLocalFile(fi.absoluteFilePath())); |