summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Arve Saether <jan-arve.saether@theqtcompany.com>2015-10-09 14:46:41 +0200
committerJan Arve Sæther <jan-arve.saether@theqtcompany.com>2015-10-26 13:52:19 +0000
commit7367d313378fb548449feda3bb0f437d29f20e8b (patch)
treebb704e52b743946fb94b106d8f8b28ade3a36944
parente19bbdf888e1fdf73872fd8b1598a245ad77d459 (diff)
Can now specify which tests to skip with an environment variable5.5
e.g. export XMLPATTERNSXQTS_TESTRANGE=42,49 will execute the tests from number 42 to number 49. The tests are numbered sequentially. This will allow us to not having to run through all the tests when testing for a specific testcase. Change-Id: I4c21158a4eada1b48eb809a887216a7160d73220 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
-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 642e84db..9ae86ad0 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 9b91f0c7..6c8c2653 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 802b09f8..f6a4fa1a 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 4fdb7b53..4785067a 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()));