summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/auto/xmlpatternssdk/TestCase.cpp9
-rw-r--r--tests/auto/xmlpatternssdk/TreeItem.cpp4
-rw-r--r--tests/auto/xmlpatternssdk/TreeItem.h3
-rw-r--r--tests/auto/xmlpatternsxqts/tst_suitetest.cpp9
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()));