aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCaroline Chao <caroline.chao@theqtcompany.com>2015-06-02 14:49:23 +0200
committerSimon Hausmann <simon.hausmann@theqtcompany.com>2015-06-15 09:31:15 +0000
commitd05f1d8ead078a0b93e0de63f74e7b3c71105a9d (patch)
tree3805ff306d86c54719a2a7b71ac4e134bf5e98b9 /src
parent58a5aa3a09c39355081e45c34d6cc02dd8ac5733 (diff)
QuickTest: Enable use of BLACKLIST file
So qml test functions can be blacklisted. Qml test functions have the following format: TestCaseName::functionName. Change-Id: Ifcaa8d77d8f0956472aa568dc6dbfcbdde4e5063 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/qmltest/qmltest.pro4
-rw-r--r--src/qmltest/quicktest.h11
-rw-r--r--src/qmltest/quicktestresult.cpp7
3 files changed, 20 insertions, 2 deletions
diff --git a/src/qmltest/qmltest.pro b/src/qmltest/qmltest.pro
index 24b87588b8..289a0584e0 100644
--- a/src/qmltest/qmltest.pro
+++ b/src/qmltest/qmltest.pro
@@ -1,8 +1,8 @@
TARGET = QtQuickTest
DEFINES += QT_NO_URL_CAST_FROM_STRING
-QT = core
-QT_PRIVATE = testlib-private quick qml-private gui core-private
+QT = core testlib-private
+QT_PRIVATE = quick qml-private gui core-private
# Testlib is only a private dependency, which results in our users not
# inheriting testlibs's MODULE_CONFIG transitively. Make it explicit.
diff --git a/src/qmltest/quicktest.h b/src/qmltest/quicktest.h
index 49bd7edfaa..b317a07db4 100644
--- a/src/qmltest/quicktest.h
+++ b/src/qmltest/quicktest.h
@@ -35,9 +35,12 @@
#define QUICKTEST_H
#include <QtQuickTest/quicktestglobal.h>
+#include <QtTest/qtest.h>
QT_BEGIN_NAMESPACE
+QTEST_ADD_GPU_BLACKLIST_SUPPORT_DEFS
+
Q_QUICK_TEST_EXPORT int quick_test_main(int argc, char **argv, const char *name, const char *sourceDir);
#ifdef QUICK_TEST_SOURCE_DIR
@@ -45,12 +48,16 @@ Q_QUICK_TEST_EXPORT int quick_test_main(int argc, char **argv, const char *name,
#define QUICK_TEST_MAIN(name) \
int main(int argc, char **argv) \
{ \
+ QTEST_ADD_GPU_BLACKLIST_SUPPORT \
+ QTEST_SET_MAIN_SOURCE_PATH \
return quick_test_main(argc, argv, #name, QUICK_TEST_SOURCE_DIR); \
}
#define QUICK_TEST_OPENGL_MAIN(name) \
int main(int argc, char **argv) \
{ \
+ QTEST_ADD_GPU_BLACKLIST_SUPPORT \
+ QTEST_SET_MAIN_SOURCE_PATH \
return quick_test_main(argc, argv, #name, QUICK_TEST_SOURCE_DIR); \
}
@@ -59,12 +66,16 @@ Q_QUICK_TEST_EXPORT int quick_test_main(int argc, char **argv, const char *name,
#define QUICK_TEST_MAIN(name) \
int main(int argc, char **argv) \
{ \
+ QTEST_ADD_GPU_BLACKLIST_SUPPORT \
+ QTEST_SET_MAIN_SOURCE_PATH \
return quick_test_main(argc, argv, #name, 0); \
}
#define QUICK_TEST_OPENGL_MAIN(name) \
int main(int argc, char **argv) \
{ \
+ QTEST_ADD_GPU_BLACKLIST_SUPPORT \
+ QTEST_SET_MAIN_SOURCE_PATH \
return quick_test_main(argc, argv, #name, 0); \
}
diff --git a/src/qmltest/quicktestresult.cpp b/src/qmltest/quicktestresult.cpp
index e405a53936..57ba65e588 100644
--- a/src/qmltest/quicktestresult.cpp
+++ b/src/qmltest/quicktestresult.cpp
@@ -34,6 +34,7 @@
#include "quicktestresult_p.h"
#include <QtTest/qtestcase.h>
#include <QtTest/qtestsystem.h>
+#include <QtTest/private/qtestblacklist_p.h>
#include <QtTest/private/qtestresult_p.h>
#include <QtTest/private/qtesttable_p.h>
#include <QtTest/private/qtestlog_p.h>
@@ -213,6 +214,7 @@ void QuickTestResult::setFunctionName(const QString &name)
QString fullName = d->testCaseName + QLatin1String("::") + name;
QTestResult::setCurrentTestFunction
(d->intern(fullName).constData());
+ QTestPrivate::checkBlackLists(fullName.toUtf8().constData(), 0);
}
} else {
QTestResult::setCurrentTestFunction(0);
@@ -241,6 +243,7 @@ void QuickTestResult::setDataTag(const QString &tag)
if (!tag.isEmpty()) {
QTestData *data = &(QTest::newRow(tag.toUtf8().constData()));
QTestResult::setCurrentTestData(data);
+ QTestPrivate::checkBlackLists((testCaseName() + QStringLiteral("::") + functionName()).toUtf8().constData(), tag.toUtf8().constData());
emit dataTagChanged();
} else {
QTestResult::setCurrentTestData(0);
@@ -278,6 +281,8 @@ bool QuickTestResult::isSkipped() const
void QuickTestResult::setSkipped(bool skip)
{
QTestResult::setSkipCurrentTest(skip);
+ if (!skip)
+ QTestResult::setBlacklistCurrentTest(false);
emit skippedChanged();
}
@@ -715,6 +720,8 @@ void QuickTestResult::parseArgs(int argc, char *argv[])
void QuickTestResult::setProgramName(const char *name)
{
if (name) {
+ QTestPrivate::parseBlackList();
+ QTestPrivate::parseGpuBlackList();
QTestResult::reset();
} else if (!name && loggingStarted) {
QTestResult::setCurrentTestObject(globalProgramName);