diff options
author | Jan Arve Saether <jan-arve.saether@theqtcompany.com> | 2015-10-09 14:46:41 +0200 |
---|---|---|
committer | Jan Arve Sæther <jan-arve.saether@theqtcompany.com> | 2015-10-26 13:52:19 +0000 |
commit | 7367d313378fb548449feda3bb0f437d29f20e8b (patch) | |
tree | bb704e52b743946fb94b106d8f8b28ade3a36944 /tests | |
parent | e19bbdf888e1fdf73872fd8b1598a245ad77d459 (diff) | |
download | qtxmlpatterns-7367d313378fb548449feda3bb0f437d29f20e8b.tar.gz |
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>
Diffstat (limited to 'tests')
-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())); |