summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/testlib/qabstracttestlogger_p.h4
-rw-r--r--src/testlib/qplaintestlogger.cpp13
-rw-r--r--src/testlib/qtestblacklist.cpp201
-rw-r--r--src/testlib/qtestblacklist_p.h67
-rw-r--r--src/testlib/qtestcase.cpp6
-rw-r--r--src/testlib/qtestlog.cpp25
-rw-r--r--src/testlib/qtestlog_p.h3
-rw-r--r--src/testlib/qtestresult.cpp17
-rw-r--r--src/testlib/qtestresult_p.h1
-rw-r--r--src/testlib/qxmltestlogger.cpp4
-rw-r--r--src/testlib/qxunittestlogger.cpp14
-rw-r--r--src/testlib/testlib.pro7
-rw-r--r--tests/auto/corelib/tools/qlocale/tst_qlocale.cpp8
-rw-r--r--tests/auto/dbus/qdbusxmlparser/tst_qdbusxmlparser.cpp5
-rw-r--r--tests/auto/testlib/selftests/expected_alive.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_assert.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_badxml.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_benchlibcallgrind.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_benchlibcounting.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_benchlibeventcounter.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_benchliboptions.txt6
-rw-r--r--tests/auto/testlib/selftests/expected_benchlibtickcounter.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_benchlibwalltime.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_cmptest.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_commandlinedata.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_counting.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_crashes_2.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_crashes_3.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_datatable.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_datetime.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_differentexec.txt6
-rw-r--r--tests/auto/testlib/selftests/expected_exceptionthrow.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_expectfail.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_failcleanup.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_failinit.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_failinitdata.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_fetchbogus.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_findtestdata.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_float.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_globaldata.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_longstring.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_maxwarnings.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_multiexec.txt10
-rw-r--r--tests/auto/testlib/selftests/expected_qexecstringlist.txt12
-rw-r--r--tests/auto/testlib/selftests/expected_silent.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_singleskip.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_skip.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_skipcleanup.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_skipinit.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_skipinitdata.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_sleep.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_strcmp.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_subtest.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_verbose1.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_verbose2.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_verifyexceptionthrown.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_warnings.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_xunit.txt2
58 files changed, 420 insertions, 69 deletions
diff --git a/src/testlib/qabstracttestlogger_p.h b/src/testlib/qabstracttestlogger_p.h
index c549233ddb..6bb54d1af8 100644
--- a/src/testlib/qabstracttestlogger_p.h
+++ b/src/testlib/qabstracttestlogger_p.h
@@ -68,7 +68,9 @@ public:
Pass,
XFail,
Fail,
- XPass
+ XPass,
+ BlacklistedPass,
+ BlacklistedFail
};
enum MessageTypes {
diff --git a/src/testlib/qplaintestlogger.cpp b/src/testlib/qplaintestlogger.cpp
index 774f2cc4fb..74f0290f38 100644
--- a/src/testlib/qplaintestlogger.cpp
+++ b/src/testlib/qplaintestlogger.cpp
@@ -89,6 +89,10 @@ namespace QTest {
return "FAIL! ";
case QAbstractTestLogger::XPass:
return "XPASS ";
+ case QAbstractTestLogger::BlacklistedPass:
+ return "BPASS ";
+ case QAbstractTestLogger::BlacklistedFail:
+ return "BFAIL ";
}
return "??????";
}
@@ -351,15 +355,16 @@ void QPlainTestLogger::stopLogging()
{
char buf[1024];
if (QTestLog::verboseLevel() < 0) {
- qsnprintf(buf, sizeof(buf), "Totals: %d passed, %d failed, %d skipped\n",
+ qsnprintf(buf, sizeof(buf), "Totals: %d passed, %d failed, %d skipped, %d blacklisted\n",
QTestLog::passCount(), QTestLog::failCount(),
- QTestLog::skipCount());
+ QTestLog::skipCount(), QTestLog::blacklistCount());
} else {
qsnprintf(buf, sizeof(buf),
- "Totals: %d passed, %d failed, %d skipped\n"
+ "Totals: %d passed, %d failed, %d skipped, %d blacklisted\n"
"********* Finished testing of %s *********\n",
QTestLog::passCount(), QTestLog::failCount(),
- QTestLog::skipCount(), QTestResult::currentTestObjectName());
+ QTestLog::skipCount(), QTestLog::blacklistCount(),
+ QTestResult::currentTestObjectName());
}
outputMessage(buf);
diff --git a/src/testlib/qtestblacklist.cpp b/src/testlib/qtestblacklist.cpp
new file mode 100644
index 0000000000..7921b350b5
--- /dev/null
+++ b/src/testlib/qtestblacklist.cpp
@@ -0,0 +1,201 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtTest module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "qtestblacklist_p.h"
+#include "qtestresult_p.h"
+
+#include <QtTest/qtestcase.h>
+#include <QtCore/qbytearray.h>
+#include <QtCore/qfile.h>
+
+#include <set>
+
+QT_BEGIN_NAMESPACE
+
+/*
+ The file format is simply a grouped listing of keywords
+ Ungrouped entries at the beginning apply to the whole testcase
+ Groups define testfunctions or specific test data to ignore.
+ After the groups come a list of entries (one per line) that define
+ for which platform/os combination to ignore the test result.
+ All keys in a single line have to match to blacklist the test.
+
+ mac
+ [testFunction]
+ linux
+ windows 64bit
+ [testfunction2:testData]
+ msvc
+
+ The known keys are listed below:
+*/
+
+// this table can be extended with new keywords as required
+const char *matchedConditions[] =
+{
+#ifdef Q_OS_LINUX
+ "linux",
+#endif
+#ifdef Q_OS_OSX
+ "osx",
+#endif
+#ifdef Q_OS_WIN
+ "windows",
+#endif
+#ifdef Q_OS_IOS
+ "ios",
+#endif
+#ifdef Q_OS_ANDROID
+ "android",
+#endif
+#ifdef Q_OS_QNX
+ "qnx",
+#endif
+#ifdef Q_OS_WINRT
+ "winrt",
+#endif
+#ifdef Q_OS_WINCE
+ "wince",
+#endif
+
+#if QT_POINTER_SIZE == 8
+ "64bit",
+#else
+ "32bit",
+#endif
+
+#ifdef Q_CC_GNU
+ "gcc",
+#endif
+#ifdef Q_CC_CLANG
+ "clang",
+#endif
+#ifdef Q_CC_MSVC
+ "msvc",
+#endif
+
+#ifdef Q_AUTOTEST_EXPORT
+ "developer-build",
+#endif
+ 0
+};
+
+
+static bool checkCondition(const QByteArray &condition)
+{
+ QList<QByteArray> conds = condition.split(' ');
+ std::set<QByteArray> matches;
+ const char **m = matchedConditions;
+ while (*m) {
+ matches.insert(*m);
+ ++m;
+ }
+
+ for (int i = 0; i < conds.size(); ++i) {
+ QByteArray c = conds.at(i);
+ bool result = c.startsWith('!');
+ if (result)
+ c = c.mid(1);
+
+ result ^= (matches.find(c) != matches.end());
+ if (!result)
+ return false;
+ }
+ return true;
+}
+
+static bool ignoreAll = false;
+static std::set<QByteArray> *ignoredTests = 0;
+
+namespace QTestPrivate {
+
+void parseBlackList()
+{
+ QString filename = QTest::qFindTestData(QStringLiteral("BLACKLIST"));
+ if (filename.isEmpty())
+ return;
+ QFile ignored(filename);
+ if (!ignored.open(QIODevice::ReadOnly))
+ return;
+
+ QByteArray function;
+
+ while (!ignored.atEnd()) {
+ QByteArray line = ignored.readLine().simplified();
+ if (line.isEmpty() || line.startsWith('#'))
+ continue;
+ if (line.startsWith('[')) {
+ function = line.mid(1, line.length() - 2);
+ continue;
+ }
+ bool condition = checkCondition(line);
+ if (condition) {
+ if (!function.size()) {
+ ignoreAll = true;
+ } else {
+ if (!ignoredTests)
+ ignoredTests = new std::set<QByteArray>;
+ ignoredTests->insert(function);
+ }
+ }
+ }
+}
+
+void checkBlackList(const char *slot, const char *data)
+{
+ bool ignore = ignoreAll;
+
+ if (!ignore && ignoredTests) {
+ QByteArray s = slot;
+ ignore = (ignoredTests->find(s) != ignoredTests->end());
+ if (!ignore && data) {
+ s += ':';
+ s += data;
+ ignore = (ignoredTests->find(s) != ignoredTests->end());
+ }
+ }
+
+ QTestResult::setBlacklistCurrentTest(ignore);
+}
+
+}
+
+
+QT_END_NAMESPACE
diff --git a/src/testlib/qtestblacklist_p.h b/src/testlib/qtestblacklist_p.h
new file mode 100644
index 0000000000..a9d07ae024
--- /dev/null
+++ b/src/testlib/qtestblacklist_p.h
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtTest module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QTESTBLACKLIST_P_H
+#define QTESTBLACKLIST_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtTest/qtest_global.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace QTestPrivate {
+ void parseBlackList();
+ void checkBlackList(const char *slot, const char *data);
+}
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp
index 739d341233..5d5b298740 100644
--- a/src/testlib/qtestcase.cpp
+++ b/src/testlib/qtestcase.cpp
@@ -63,6 +63,7 @@
#include <QtTest/private/qsignaldumper_p.h>
#include <QtTest/private/qbenchmark_p.h>
#include <QtTest/private/cycle_p.h>
+#include <QtTest/private/qtestblacklist_p.h>
#include <numeric>
#include <algorithm>
@@ -2016,6 +2017,9 @@ static bool qInvokeTestMethod(const char *slotName, const char *data=0)
QTestResult::setSkipCurrentTest(false);
if (!data || !qstrcmp(data, table.testData(curDataIndex)->dataTag())) {
foundFunction = true;
+
+ QTestPrivate::checkBlackList(slot, dataCount ? table.testData(curDataIndex)->dataTag() : 0);
+
QTestDataSetter s(curDataIndex >= dataCount ? static_cast<QTestData *>(0)
: table.testData(curDataIndex));
@@ -2433,6 +2437,8 @@ int QTest::qExec(QObject *testObject, int argc, char **argv)
}
#endif
+ QTestPrivate::parseBlackList();
+
QTestResult::reset();
QTEST_ASSERT(testObject);
diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp
index 708a91b557..b7ed3d0763 100644
--- a/src/testlib/qtestlog.cpp
+++ b/src/testlib/qtestlog.cpp
@@ -84,6 +84,7 @@ namespace QTest {
int fails = 0;
int passes = 0;
int skips = 0;
+ int blacklists = 0;
struct IgnoreResultList
{
@@ -415,6 +416,25 @@ void QTestLog::addXPass(const char *msg, const char *file, int line)
QTest::TestLoggers::addIncident(QAbstractTestLogger::XPass, msg, file, line);
}
+void QTestLog::addBPass(const char *msg)
+{
+ QTEST_ASSERT(msg);
+
+ ++QTest::blacklists;
+
+ QTest::TestLoggers::addIncident(QAbstractTestLogger::BlacklistedPass, msg);
+}
+
+void QTestLog::addBFail(const char *msg, const char *file, int line)
+{
+ QTEST_ASSERT(msg);
+ QTEST_ASSERT(file);
+
+ ++QTest::blacklists;
+
+ QTest::TestLoggers::addIncident(QAbstractTestLogger::BlacklistedFail, msg, file, line);
+}
+
void QTestLog::addSkip(const char *msg, const char *file, int line)
{
QTEST_ASSERT(msg);
@@ -552,6 +572,11 @@ int QTestLog::skipCount()
return QTest::skips;
}
+int QTestLog::blacklistCount()
+{
+ return QTest::blacklists;
+}
+
void QTestLog::resetCounters()
{
QTest::passes = 0;
diff --git a/src/testlib/qtestlog_p.h b/src/testlib/qtestlog_p.h
index a987c45806..540ffe75eb 100644
--- a/src/testlib/qtestlog_p.h
+++ b/src/testlib/qtestlog_p.h
@@ -72,6 +72,8 @@ public:
static void addFail(const char *msg, const char *file, int line);
static void addXFail(const char *msg, const char *file, int line);
static void addXPass(const char *msg, const char *file, int line);
+ static void addBPass(const char *msg);
+ static void addBFail(const char *msg, const char *file, int line);
static void addSkip(const char *msg, const char *file, int line);
static void addBenchmarkResult(const QBenchmarkResult &result);
@@ -102,6 +104,7 @@ public:
static int passCount();
static int failCount();
static int skipCount();
+ static int blacklistCount();
static void resetCounters();
diff --git a/src/testlib/qtestresult.cpp b/src/testlib/qtestresult.cpp
index 8eb1fa2d9c..8d1a942d8b 100644
--- a/src/testlib/qtestresult.cpp
+++ b/src/testlib/qtestresult.cpp
@@ -62,6 +62,7 @@ namespace QTest
static const char *currentTestObjectName = 0;
static bool failed = false;
static bool skipCurrentTest = false;
+ static bool blacklistCurrentTest = false;
static const char *expectFailComment = 0;
static int expectFailMode = 0;
@@ -77,10 +78,16 @@ void QTestResult::reset()
QTest::expectFailComment = 0;
QTest::expectFailMode = 0;
+ QTest::blacklistCurrentTest = false;
QTestLog::resetCounters();
}
+void QTestResult::setBlacklistCurrentTest(bool b)
+{
+ QTest::blacklistCurrentTest = b;
+}
+
bool QTestResult::currentTestFailed()
{
return QTest::failed;
@@ -139,7 +146,10 @@ void QTestResult::finishedCurrentTestDataCleanup()
{
// If the current test hasn't failed or been skipped, then it passes.
if (!QTest::failed && !QTest::skipCurrentTest) {
- QTestLog::addPass("");
+ if (QTest::blacklistCurrentTest)
+ QTestLog::addBPass("");
+ else
+ QTestLog::addPass("");
}
QTest::failed = false;
@@ -290,7 +300,10 @@ void QTestResult::addFailure(const char *message, const char *file, int line)
{
clearExpectFail();
- QTestLog::addFail(message, file, line);
+ if (QTest::blacklistCurrentTest)
+ QTestLog::addBFail(message, file, line);
+ else
+ QTestLog::addFail(message, file, line);
QTest::failed = true;
}
diff --git a/src/testlib/qtestresult_p.h b/src/testlib/qtestresult_p.h
index ea8173b169..8454acd5f8 100644
--- a/src/testlib/qtestresult_p.h
+++ b/src/testlib/qtestresult_p.h
@@ -74,6 +74,7 @@ public:
static void finishedCurrentTestDataCleanup();
static void finishedCurrentTestFunction();
static void reset();
+ static void setBlacklistCurrentTest(bool b);
static void addFailure(const char *message, const char *file, int line);
static bool compare(bool success, const char *failureMsg,
diff --git a/src/testlib/qxmltestlogger.cpp b/src/testlib/qxmltestlogger.cpp
index 5ea28bd46d..52dc5db69f 100644
--- a/src/testlib/qxmltestlogger.cpp
+++ b/src/testlib/qxmltestlogger.cpp
@@ -86,6 +86,10 @@ namespace QTest {
return "fail";
case QAbstractTestLogger::XPass:
return "xpass";
+ case QAbstractTestLogger::BlacklistedPass:
+ return "bpass";
+ case QAbstractTestLogger::BlacklistedFail:
+ return "bfail";
}
return "??????";
}
diff --git a/src/testlib/qxunittestlogger.cpp b/src/testlib/qxunittestlogger.cpp
index fe5b13eeeb..5d860cf1c9 100644
--- a/src/testlib/qxunittestlogger.cpp
+++ b/src/testlib/qxunittestlogger.cpp
@@ -175,6 +175,13 @@ void QXunitTestLogger::addIncident(IncidentTypes type, const char *description,
++failureCounter;
typeBuf = "fail";
break;
+ case QAbstractTestLogger::BlacklistedPass:
+ typeBuf = "bpass";
+ break;
+ case QAbstractTestLogger::BlacklistedFail:
+ ++failureCounter;
+ typeBuf = "bfail";
+ break;
default:
typeBuf = "??????";
break;
@@ -207,6 +214,13 @@ void QXunitTestLogger::addIncident(IncidentTypes type, const char *description,
if (!strcmp(oldResult, "pass")) {
overwrite = true;
}
+ else if (!strcmp(oldResult, "bpass")) {
+ overwrite = (type == QAbstractTestLogger::XPass || type == QAbstractTestLogger::Fail) || (type == QAbstractTestLogger::XFail)
+ || (type == QAbstractTestLogger::BlacklistedFail);
+ }
+ else if (!strcmp(oldResult, "bfail")) {
+ overwrite = (type == QAbstractTestLogger::XPass || type == QAbstractTestLogger::Fail) || (type == QAbstractTestLogger::XFail);
+ }
else if (!strcmp(oldResult, "xfail")) {
overwrite = (type == QAbstractTestLogger::XPass || type == QAbstractTestLogger::Fail);
}
diff --git a/src/testlib/testlib.pro b/src/testlib/testlib.pro
index 1fb6d6df18..17a03781c2 100644
--- a/src/testlib/testlib.pro
+++ b/src/testlib/testlib.pro
@@ -33,7 +33,8 @@ HEADERS = qbenchmark.h \
qtestmouse.h \
qtestspontaneevent.h \
qtestsystem.h \
- qtesttouch.h
+ qtesttouch.h \
+ qtestblacklist_p.h
SOURCES = qtestcase.cpp \
qtestlog.cpp \
@@ -55,7 +56,9 @@ SOURCES = qtestcase.cpp \
qtestelement.cpp \
qtestelementattribute.cpp \
qtestxunitstreamer.cpp \
- qxunittestlogger.cpp
+ qxunittestlogger.cpp \
+ qtestblacklist.cpp
+
DEFINES *= QT_NO_CAST_TO_ASCII \
QT_NO_CAST_FROM_ASCII \
QT_NO_DATASTREAM
diff --git a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
index da65ea105e..60274b2722 100644
--- a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
+++ b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
@@ -52,6 +52,7 @@
#include <float.h>
#include <qlocale.h>
+#include <private/qlocale_p.h>
#include <qnumeric.h>
#if defined(Q_OS_LINUX) && !defined(__UCLIBC__)
@@ -1544,6 +1545,9 @@ public:
setWinLocaleInfo(LOCALE_SSHORTDATE, m_sdate);
setWinLocaleInfo(LOCALE_SLONGDATE, m_ldate);
setWinLocaleInfo(shortTimeType(), m_time);
+
+ // make sure QLocale::system() gets updated
+ QLocalePrivate::updateSystemPrivate();
}
QString m_decimal, m_thousand, m_sdate, m_ldate, m_time;
@@ -1567,7 +1571,11 @@ void tst_QLocale::windowsDefaultLocale()
setWinLocaleInfo(LOCALE_SLONGDATE, longDateFormat);
const QString shortTimeFormat = QStringLiteral("h^m^s");
setWinLocaleInfo(shortTimeType(), shortTimeFormat);
+
+ // make sure QLocale::system() gets updated
+ QLocalePrivate::updateSystemPrivate();
QLocale locale = QLocale::system();
+
// make sure we are seeing the system's format strings
QCOMPARE(locale.decimalPoint(), QChar('@'));
QCOMPARE(locale.groupSeparator(), QChar('?'));
diff --git a/tests/auto/dbus/qdbusxmlparser/tst_qdbusxmlparser.cpp b/tests/auto/dbus/qdbusxmlparser/tst_qdbusxmlparser.cpp
index 8c94f87fd6..f32037de38 100644
--- a/tests/auto/dbus/qdbusxmlparser/tst_qdbusxmlparser.cpp
+++ b/tests/auto/dbus/qdbusxmlparser/tst_qdbusxmlparser.cpp
@@ -79,9 +79,8 @@ QT_END_NAMESPACE
void tst_QDBusXmlParser::initTestCase()
{
- // If the seed not initialized yet (-1), set it to 0
- // otherwise abort, so we don't get unexplained test failures later.
- QVERIFY(qt_qhash_seed.testAndSetRelaxed(-1, 0));
+ // Always initialize the hash seed to 0 to get reliable test results
+ qt_qhash_seed.store(0);
}
void tst_QDBusXmlParser::parsing_data()
diff --git a/tests/auto/testlib/selftests/expected_alive.txt b/tests/auto/testlib/selftests/expected_alive.txt
index 093a3a6f09..4384a9fcea 100644
--- a/tests/auto/testlib/selftests/expected_alive.txt
+++ b/tests/auto/testlib/selftests/expected_alive.txt
@@ -9,5 +9,5 @@ QWARN : tst_Alive::alive() TEST LAGS 4 PINGS behind!
PASS : tst_Alive::alive()
PASS : tst_Alive::addMouseDClick()
PASS : tst_Alive::cleanupTestCase()
-Totals: 4 passed, 0 failed, 0 skipped
+Totals: 4 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Alive *********
diff --git a/tests/auto/testlib/selftests/expected_assert.txt b/tests/auto/testlib/selftests/expected_assert.txt
index 0e9bfb263f..c07c95d8ee 100644
--- a/tests/auto/testlib/selftests/expected_assert.txt
+++ b/tests/auto/testlib/selftests/expected_assert.txt
@@ -5,5 +5,5 @@ PASS : tst_Assert::testNumber1()
QFATAL : tst_Assert::testNumber2() ASSERT: "false" in file tst_assert.cpp, line 66
FAIL! : tst_Assert::testNumber2() Received a fatal error.
Loc: [Unknown file(0)]
-Totals: 2 passed, 1 failed, 0 skipped
+Totals: 2 passed, 1 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Assert *********
diff --git a/tests/auto/testlib/selftests/expected_badxml.txt b/tests/auto/testlib/selftests/expected_badxml.txt
index a42013df0b..e4fa78494e 100644
--- a/tests/auto/testlib/selftests/expected_badxml.txt
+++ b/tests/auto/testlib/selftests/expected_badxml.txt
@@ -41,5 +41,5 @@ FAIL! : tst_BadXml::failWithNoFile() failure message
SKIP : tst_BadXml::encoding() Skipped for text due to unpredictable console encoding.
Loc: [tst_badxml.cpp(139)]
PASS : tst_BadXml::cleanupTestCase()
-Totals: 10 passed, 5 failed, 1 skipped
+Totals: 10 passed, 5 failed, 1 skipped, 0 blacklisted
********* Finished testing of tst_BadXml *********
diff --git a/tests/auto/testlib/selftests/expected_benchlibcallgrind.txt b/tests/auto/testlib/selftests/expected_benchlibcallgrind.txt
index ca0d0bdda5..07365bb9e8 100644
--- a/tests/auto/testlib/selftests/expected_benchlibcallgrind.txt
+++ b/tests/auto/testlib/selftests/expected_benchlibcallgrind.txt
@@ -5,5 +5,5 @@ PASS : tst_BenchlibCallgrind::twoHundredMillionInstructions()
RESULT : tst_BenchlibCallgrind::twoHundredMillionInstructions():
200,000,158 instruction reads per iteration (total: 200,000,158, iterations: 1)
PASS : tst_BenchlibCallgrind::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_BenchlibCallgrind *********
diff --git a/tests/auto/testlib/selftests/expected_benchlibcounting.txt b/tests/auto/testlib/selftests/expected_benchlibcounting.txt
index 8be8206afc..62e316dc3c 100644
--- a/tests/auto/testlib/selftests/expected_benchlibcounting.txt
+++ b/tests/auto/testlib/selftests/expected_benchlibcounting.txt
@@ -9,5 +9,5 @@ SKIP : tst_BenchlibCounting::skippingBenchmark() This is a skipping benchmark
FAIL! : tst_BenchlibCounting::failingBenchmark() This is a failing benchmark
Loc: [tst_benchlibcounting.cpp(71)]
PASS : tst_BenchlibCounting::cleanupTestCase()
-Totals: 3 passed, 1 failed, 1 skipped
+Totals: 3 passed, 1 failed, 1 skipped, 0 blacklisted
********* Finished testing of tst_BenchlibCounting *********
diff --git a/tests/auto/testlib/selftests/expected_benchlibeventcounter.txt b/tests/auto/testlib/selftests/expected_benchlibeventcounter.txt
index 7a5faa9ac6..773bc4cc14 100644
--- a/tests/auto/testlib/selftests/expected_benchlibeventcounter.txt
+++ b/tests/auto/testlib/selftests/expected_benchlibeventcounter.txt
@@ -23,5 +23,5 @@ PASS : tst_BenchlibEventCounter::events(100000)
RESULT : tst_BenchlibEventCounter::events():"100000":
100,000 events per iteration (total: 100,000, iterations: 1)
PASS : tst_BenchlibEventCounter::cleanupTestCase()
-Totals: 9 passed, 0 failed, 0 skipped
+Totals: 9 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_BenchlibEventCounter *********
diff --git a/tests/auto/testlib/selftests/expected_benchliboptions.txt b/tests/auto/testlib/selftests/expected_benchliboptions.txt
index d8b69cf80e..0b8ec87724 100644
--- a/tests/auto/testlib/selftests/expected_benchliboptions.txt
+++ b/tests/auto/testlib/selftests/expected_benchliboptions.txt
@@ -5,7 +5,7 @@ PASS : tst_BenchlibOptions::threeEvents()
RESULT : tst_BenchlibOptions::threeEvents():
3 events per iteration (total: 3, iterations: 1)
PASS : tst_BenchlibOptions::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_BenchlibOptions *********
********* Start testing of tst_BenchlibFifteenIterations *********
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
@@ -14,7 +14,7 @@ PASS : tst_BenchlibFifteenIterations::threeEvents()
RESULT : tst_BenchlibFifteenIterations::threeEvents():
3.0 events per iteration (total: 45, iterations: 15)
PASS : tst_BenchlibFifteenIterations::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_BenchlibFifteenIterations *********
********* Start testing of tst_BenchlibOneHundredMinimum *********
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
@@ -23,5 +23,5 @@ PASS : tst_BenchlibOneHundredMinimum::threeEvents()
RESULT : tst_BenchlibOneHundredMinimum::threeEvents():
3.00 events per iteration (total: 192, iterations: 64)
PASS : tst_BenchlibOneHundredMinimum::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_BenchlibOneHundredMinimum *********
diff --git a/tests/auto/testlib/selftests/expected_benchlibtickcounter.txt b/tests/auto/testlib/selftests/expected_benchlibtickcounter.txt
index ee2f0f28c4..5fd6bfb4fd 100644
--- a/tests/auto/testlib/selftests/expected_benchlibtickcounter.txt
+++ b/tests/auto/testlib/selftests/expected_benchlibtickcounter.txt
@@ -5,5 +5,5 @@ PASS : tst_BenchlibTickCounter::threeBillionTicks()
RESULT : tst_BenchlibTickCounter::threeBillionTicks():
3,000,005,772 CPU ticks per iteration (total: 3,000,005,772, iterations: 1)
PASS : tst_BenchlibTickCounter::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_BenchlibTickCounter *********
diff --git a/tests/auto/testlib/selftests/expected_benchlibwalltime.txt b/tests/auto/testlib/selftests/expected_benchlibwalltime.txt
index f1e353703b..fd53b0a40e 100644
--- a/tests/auto/testlib/selftests/expected_benchlibwalltime.txt
+++ b/tests/auto/testlib/selftests/expected_benchlibwalltime.txt
@@ -11,5 +11,5 @@ PASS : tst_BenchlibWalltime::qbenchmark_once()
RESULT : tst_BenchlibWalltime::qbenchmark_once():
0 msecs per iteration (total: 0, iterations: 1)
PASS : tst_BenchlibWalltime::cleanupTestCase()
-Totals: 5 passed, 0 failed, 0 skipped
+Totals: 5 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_BenchlibWalltime *********
diff --git a/tests/auto/testlib/selftests/expected_cmptest.txt b/tests/auto/testlib/selftests/expected_cmptest.txt
index 8473b4528e..9e8c56ed99 100644
--- a/tests/auto/testlib/selftests/expected_cmptest.txt
+++ b/tests/auto/testlib/selftests/expected_cmptest.txt
@@ -87,5 +87,5 @@ FAIL! : tst_Cmptest::compareQImages(different format) Compared QImages differ i
FAIL! : tst_Cmptest::compareQImages(different pixels) Compared values are not the same
Loc: [tst_cmptest.cpp(380)]
PASS : tst_Cmptest::cleanupTestCase()
-Totals: 11 passed, 20 failed, 0 skipped
+Totals: 11 passed, 20 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Cmptest *********
diff --git a/tests/auto/testlib/selftests/expected_commandlinedata.txt b/tests/auto/testlib/selftests/expected_commandlinedata.txt
index 509f6a2de5..94861416d7 100644
--- a/tests/auto/testlib/selftests/expected_commandlinedata.txt
+++ b/tests/auto/testlib/selftests/expected_commandlinedata.txt
@@ -24,5 +24,5 @@ INFO : tst_DataTable::fiveTablePasses(fiveTablePasses_data1) QVERIFY(test)
PASS : tst_DataTable::fiveTablePasses(fiveTablePasses_data1)
INFO : tst_DataTable::cleanupTestCase() entering
PASS : tst_DataTable::cleanupTestCase()
-Totals: 8 passed, 0 failed, 0 skipped
+Totals: 8 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_DataTable *********
diff --git a/tests/auto/testlib/selftests/expected_counting.txt b/tests/auto/testlib/selftests/expected_counting.txt
index cdabf6770e..32368760d6 100644
--- a/tests/auto/testlib/selftests/expected_counting.txt
+++ b/tests/auto/testlib/selftests/expected_counting.txt
@@ -50,5 +50,5 @@ SKIP : tst_Counting::testSkipInCleanup(skip) Skip in cleanup()
Loc: [tst_counting.cpp(244)]
PASS : tst_Counting::testSkipInCleanup(after)
PASS : tst_Counting::cleanupTestCase()
-Totals: 16 passed, 8 failed, 8 skipped
+Totals: 16 passed, 8 failed, 8 skipped, 0 blacklisted
********* Finished testing of tst_Counting *********
diff --git a/tests/auto/testlib/selftests/expected_crashes_2.txt b/tests/auto/testlib/selftests/expected_crashes_2.txt
index cbfce589b9..7bd880c242 100644
--- a/tests/auto/testlib/selftests/expected_crashes_2.txt
+++ b/tests/auto/testlib/selftests/expected_crashes_2.txt
@@ -3,5 +3,5 @@ Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HER
PASS : tst_Crashes::initTestCase()
FAIL! : tst_Crashes::crash() Caught unhandled exception
.\qtestcase.cpp(984) : failure location
-Totals: 1 passed, 1 failed, 0 skipped
+Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Crashes *********
diff --git a/tests/auto/testlib/selftests/expected_crashes_3.txt b/tests/auto/testlib/selftests/expected_crashes_3.txt
index 617a009b46..57c3ddc2ba 100644
--- a/tests/auto/testlib/selftests/expected_crashes_3.txt
+++ b/tests/auto/testlib/selftests/expected_crashes_3.txt
@@ -4,5 +4,5 @@ PASS : tst_Crashes::initTestCase()
QFATAL : tst_Crashes::crash() Received signal 11
FAIL! : tst_Crashes::crash() Received a fatal error.
Loc: [Unknown file(0)]
-Totals: 1 passed, 1 failed, 0 skipped
+Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Crashes *********
diff --git a/tests/auto/testlib/selftests/expected_datatable.txt b/tests/auto/testlib/selftests/expected_datatable.txt
index 63118b5d33..b1ace3be01 100644
--- a/tests/auto/testlib/selftests/expected_datatable.txt
+++ b/tests/auto/testlib/selftests/expected_datatable.txt
@@ -47,5 +47,5 @@ FAIL! : tst_DataTable::fiveIsolatedFailures(fiveIsolatedFailures_data 4) '!test
FAIL! : tst_DataTable::fiveIsolatedFailures(fiveIsolatedFailures_data 5) '!test' returned FALSE. ()
Loc: [tst_datatable.cpp(173)]
PASS : tst_DataTable::cleanupTestCase()
-Totals: 21 passed, 13 failed, 0 skipped
+Totals: 21 passed, 13 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_DataTable *********
diff --git a/tests/auto/testlib/selftests/expected_datetime.txt b/tests/auto/testlib/selftests/expected_datetime.txt
index f48e28ea38..1139c70ab8 100644
--- a/tests/auto/testlib/selftests/expected_datetime.txt
+++ b/tests/auto/testlib/selftests/expected_datetime.txt
@@ -16,5 +16,5 @@ FAIL! : tst_DateTime::qurl(empty lhs) Compared values are not the same
Loc: [tst_datetime.cpp(73)]
PASS : tst_DateTime::qurl(same urls)
PASS : tst_DateTime::cleanupTestCase()
-Totals: 4 passed, 3 failed, 0 skipped
+Totals: 4 passed, 3 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_DateTime *********
diff --git a/tests/auto/testlib/selftests/expected_differentexec.txt b/tests/auto/testlib/selftests/expected_differentexec.txt
index 3b8dd20e6b..acaf556c9b 100644
--- a/tests/auto/testlib/selftests/expected_differentexec.txt
+++ b/tests/auto/testlib/selftests/expected_differentexec.txt
@@ -3,19 +3,19 @@ Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HER
PASS : tst_TestA::initTestCase()
PASS : tst_TestA::slotName()
PASS : tst_TestA::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_TestA *********
********* Start testing of tst_TestA *********
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
PASS : tst_TestA::initTestCase()
PASS : tst_TestA::slotName()
PASS : tst_TestA::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_TestA *********
********* Start testing of tst_TestB *********
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
PASS : tst_TestB::initTestCase()
PASS : tst_TestB::slotName()
PASS : tst_TestB::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_TestB *********
diff --git a/tests/auto/testlib/selftests/expected_exceptionthrow.txt b/tests/auto/testlib/selftests/expected_exceptionthrow.txt
index 671e609230..bb9c101709 100644
--- a/tests/auto/testlib/selftests/expected_exceptionthrow.txt
+++ b/tests/auto/testlib/selftests/expected_exceptionthrow.txt
@@ -3,5 +3,5 @@ Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HER
PASS : tst_Exception::initTestCase()
FAIL! : tst_Exception::throwException() Caught unhandled exception
Loc: [/home/frederik/dev/qt/qt-src-dev/qtbase/src/testlib/qtestcase.cpp(2229)]
-Totals: 1 passed, 1 failed, 0 skipped
+Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Exception *********
diff --git a/tests/auto/testlib/selftests/expected_expectfail.txt b/tests/auto/testlib/selftests/expected_expectfail.txt
index 39f3c17f70..a23b845f23 100644
--- a/tests/auto/testlib/selftests/expected_expectfail.txt
+++ b/tests/auto/testlib/selftests/expected_expectfail.txt
@@ -51,5 +51,5 @@ XPASS : tst_ExpectFail::xpassDataDrivenWithQCompare(XPass) QCOMPARE(1, 1) retur
Loc: [tst_expectfail.cpp(271)]
PASS : tst_ExpectFail::xpassDataDrivenWithQCompare(Pass)
PASS : tst_ExpectFail::cleanupTestCase()
-Totals: 18 passed, 6 failed, 0 skipped
+Totals: 18 passed, 6 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_ExpectFail *********
diff --git a/tests/auto/testlib/selftests/expected_failcleanup.txt b/tests/auto/testlib/selftests/expected_failcleanup.txt
index 59d0c26794..4fb877429e 100644
--- a/tests/auto/testlib/selftests/expected_failcleanup.txt
+++ b/tests/auto/testlib/selftests/expected_failcleanup.txt
@@ -4,5 +4,5 @@ PASS : tst_FailCleanup::initTestCase()
PASS : tst_FailCleanup::aTestFunction()
FAIL! : tst_FailCleanup::cleanupTestCase() 'false' returned FALSE. (Fail inside cleanupTestCase)
Loc: [tst_failcleanup.cpp(59)]
-Totals: 2 passed, 1 failed, 0 skipped
+Totals: 2 passed, 1 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_FailCleanup *********
diff --git a/tests/auto/testlib/selftests/expected_failinit.txt b/tests/auto/testlib/selftests/expected_failinit.txt
index 2265898d69..62d6ec1dd6 100644
--- a/tests/auto/testlib/selftests/expected_failinit.txt
+++ b/tests/auto/testlib/selftests/expected_failinit.txt
@@ -3,5 +3,5 @@ Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HER
FAIL! : tst_FailInit::initTestCase() 'false' returned FALSE. ()
Loc: [tst_failinit.cpp(55)]
PASS : tst_FailInit::cleanupTestCase()
-Totals: 1 passed, 1 failed, 0 skipped
+Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_FailInit *********
diff --git a/tests/auto/testlib/selftests/expected_failinitdata.txt b/tests/auto/testlib/selftests/expected_failinitdata.txt
index 982db4b2c2..431c70269e 100644
--- a/tests/auto/testlib/selftests/expected_failinitdata.txt
+++ b/tests/auto/testlib/selftests/expected_failinitdata.txt
@@ -2,5 +2,5 @@
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
FAIL! : tst_FailInitData::initTestCase() 'false' returned FALSE. ()
Loc: [tst_failinitdata.cpp(56)]
-Totals: 0 passed, 1 failed, 0 skipped
+Totals: 0 passed, 1 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_FailInitData *********
diff --git a/tests/auto/testlib/selftests/expected_fetchbogus.txt b/tests/auto/testlib/selftests/expected_fetchbogus.txt
index 0306fe7cc4..598e281215 100644
--- a/tests/auto/testlib/selftests/expected_fetchbogus.txt
+++ b/tests/auto/testlib/selftests/expected_fetchbogus.txt
@@ -4,5 +4,5 @@ PASS : tst_FetchBogus::initTestCase()
QFATAL : tst_FetchBogus::fetchBogus(foo) QFETCH: Requested testdata 'bubu' not available, check your _data function.
FAIL! : tst_FetchBogus::fetchBogus(foo) Received a fatal error.
Loc: [Unknown file(0)]
-Totals: 1 passed, 1 failed, 0 skipped
+Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_FetchBogus *********
diff --git a/tests/auto/testlib/selftests/expected_findtestdata.txt b/tests/auto/testlib/selftests/expected_findtestdata.txt
index d92b167d3e..6a900e73d6 100644
--- a/tests/auto/testlib/selftests/expected_findtestdata.txt
+++ b/tests/auto/testlib/selftests/expected_findtestdata.txt
@@ -5,5 +5,5 @@ WARNING: FindTestData::paths() testdata testfile could not be located!
Loc: [findtestdata.cpp(154)]
PASS : FindTestData::paths()
PASS : FindTestData::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of FindTestData *********
diff --git a/tests/auto/testlib/selftests/expected_float.txt b/tests/auto/testlib/selftests/expected_float.txt
index 6d0588981c..e9cfae04b4 100644
--- a/tests/auto/testlib/selftests/expected_float.txt
+++ b/tests/auto/testlib/selftests/expected_float.txt
@@ -28,5 +28,5 @@ FAIL! : tst_float::compareFloatTests(1e+7) Compared floats are not the same (fu
Expected (t3): 3e+07
Loc: [tst_float.cpp(109)]
PASS : tst_float::cleanupTestCase()
-Totals: 4 passed, 6 failed, 0 skipped
+Totals: 4 passed, 6 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_float *********
diff --git a/tests/auto/testlib/selftests/expected_globaldata.txt b/tests/auto/testlib/selftests/expected_globaldata.txt
index a7c18e765b..efd461d7d2 100644
--- a/tests/auto/testlib/selftests/expected_globaldata.txt
+++ b/tests/auto/testlib/selftests/expected_globaldata.txt
@@ -50,5 +50,5 @@ QDEBUG : tst_globaldata::skipSingle(2:local 2) cleanup skipSingle local 2
PASS : tst_globaldata::skipSingle(2:local 2)
QDEBUG : tst_globaldata::cleanupTestCase() cleanupTestCase cleanupTestCase (null)
PASS : tst_globaldata::cleanupTestCase()
-Totals: 9 passed, 0 failed, 4 skipped
+Totals: 9 passed, 0 failed, 4 skipped, 0 blacklisted
********* Finished testing of tst_globaldata *********
diff --git a/tests/auto/testlib/selftests/expected_longstring.txt b/tests/auto/testlib/selftests/expected_longstring.txt
index 364c8cf4a7..7ffa77cc1c 100644
--- a/tests/auto/testlib/selftests/expected_longstring.txt
+++ b/tests/auto/testlib/selftests/expected_longstring.txt
@@ -12,5 +12,5 @@ Curabitur ligula sapien, tincidunt non, euismod vitae, posuere imperdiet, leo. M
Aenean posuere, tortor sed cursus feugiat, nunc augue blandit nunc, eu sollicitudin urna dolor sagittis lacus. Donec elit libero, sodales nec, volutpat a, suscipit non, turpis. Nullam sagittis. Suspendisse pulvinar, augue ac venenatis condimentum, sem libero volutpat nibh, nec pellentesque velit pede quis nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Fusce id purus. Ut varius tincidunt libero. Phasellus dolor. Maecenas vestibulum mollis diam. Pellentesque ut neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Loc: [tst_longstring.cpp(67)]
PASS : tst_LongString::cleanupTestCase()
-Totals: 2 passed, 1 failed, 0 skipped
+Totals: 2 passed, 1 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_LongString *********
diff --git a/tests/auto/testlib/selftests/expected_maxwarnings.txt b/tests/auto/testlib/selftests/expected_maxwarnings.txt
index 3e880ee551..30f8d6f5d3 100644
--- a/tests/auto/testlib/selftests/expected_maxwarnings.txt
+++ b/tests/auto/testlib/selftests/expected_maxwarnings.txt
@@ -2005,5 +2005,5 @@ QWARN : MaxWarnings::warn() 2000
QSYSTEM: MaxWarnings::warn() Maximum amount of warnings exceeded. Use -maxwarnings to override.
PASS : MaxWarnings::warn()
PASS : MaxWarnings::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of MaxWarnings *********
diff --git a/tests/auto/testlib/selftests/expected_multiexec.txt b/tests/auto/testlib/selftests/expected_multiexec.txt
index b2f1d7009c..f3cd942e38 100644
--- a/tests/auto/testlib/selftests/expected_multiexec.txt
+++ b/tests/auto/testlib/selftests/expected_multiexec.txt
@@ -3,33 +3,33 @@ Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HER
PASS : tst_Nothing::initTestCase()
PASS : tst_Nothing::nothing()
PASS : tst_Nothing::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Nothing *********
********* Start testing of tst_Nothing *********
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
PASS : tst_Nothing::initTestCase()
PASS : tst_Nothing::nothing()
PASS : tst_Nothing::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Nothing *********
********* Start testing of tst_Nothing *********
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
PASS : tst_Nothing::initTestCase()
PASS : tst_Nothing::nothing()
PASS : tst_Nothing::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Nothing *********
********* Start testing of tst_Nothing *********
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
PASS : tst_Nothing::initTestCase()
PASS : tst_Nothing::nothing()
PASS : tst_Nothing::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Nothing *********
********* Start testing of tst_Nothing *********
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
PASS : tst_Nothing::initTestCase()
PASS : tst_Nothing::nothing()
PASS : tst_Nothing::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Nothing *********
diff --git a/tests/auto/testlib/selftests/expected_qexecstringlist.txt b/tests/auto/testlib/selftests/expected_qexecstringlist.txt
index d4ce643804..830e7e8b36 100644
--- a/tests/auto/testlib/selftests/expected_qexecstringlist.txt
+++ b/tests/auto/testlib/selftests/expected_qexecstringlist.txt
@@ -7,7 +7,7 @@ PASS : tst_QExecStringList::testB(Data2)
PASS : tst_QExecStringList::testB(Data3)
PASS : tst_QExecStringList::testC()
PASS : tst_QExecStringList::cleanupTestCase()
-Totals: 7 passed, 0 failed, 0 skipped
+Totals: 7 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_QExecStringList *********
********* Start testing of tst_QExecStringList *********
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
@@ -18,14 +18,14 @@ PASS : tst_QExecStringList::testB(Data2)
PASS : tst_QExecStringList::testB(Data3)
PASS : tst_QExecStringList::testC()
PASS : tst_QExecStringList::cleanupTestCase()
-Totals: 7 passed, 0 failed, 0 skipped
+Totals: 7 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_QExecStringList *********
********* Start testing of tst_QExecStringList *********
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
PASS : tst_QExecStringList::initTestCase()
PASS : tst_QExecStringList::testA()
PASS : tst_QExecStringList::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_QExecStringList *********
********* Start testing of tst_QExecStringList *********
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
@@ -34,19 +34,19 @@ PASS : tst_QExecStringList::testB(Data1)
PASS : tst_QExecStringList::testB(Data2)
PASS : tst_QExecStringList::testB(Data3)
PASS : tst_QExecStringList::cleanupTestCase()
-Totals: 5 passed, 0 failed, 0 skipped
+Totals: 5 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_QExecStringList *********
********* Start testing of tst_QExecStringList *********
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
PASS : tst_QExecStringList::initTestCase()
PASS : tst_QExecStringList::testB(Data2)
PASS : tst_QExecStringList::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_QExecStringList *********
********* Start testing of tst_QExecStringList *********
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
PASS : tst_QExecStringList::initTestCase()
PASS : tst_QExecStringList::testC()
PASS : tst_QExecStringList::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_QExecStringList *********
diff --git a/tests/auto/testlib/selftests/expected_silent.txt b/tests/auto/testlib/selftests/expected_silent.txt
index 5d4c77bffd..34728f5829 100644
--- a/tests/auto/testlib/selftests/expected_silent.txt
+++ b/tests/auto/testlib/selftests/expected_silent.txt
@@ -6,4 +6,4 @@ XPASS : tst_Silent::xpass() 'true' returned TRUE unexpectedly. (This test shoul
QFATAL : tst_Silent::messages() This is a fatal error message that should still appear in silent test output
FAIL! : tst_Silent::messages() Received a fatal error.
Loc: [Unknown file(0)]
-Totals: 3 passed, 3 failed, 1 skipped
+Totals: 3 passed, 3 failed, 1 skipped, 0 blacklisted
diff --git a/tests/auto/testlib/selftests/expected_singleskip.txt b/tests/auto/testlib/selftests/expected_singleskip.txt
index ba5415a216..34c877cfd4 100644
--- a/tests/auto/testlib/selftests/expected_singleskip.txt
+++ b/tests/auto/testlib/selftests/expected_singleskip.txt
@@ -4,5 +4,5 @@ PASS : tst_SingleSkip::initTestCase()
SKIP : tst_SingleSkip::myTest() skipping test
Loc: [tst_singleskip.cpp(56)]
PASS : tst_SingleSkip::cleanupTestCase()
-Totals: 2 passed, 0 failed, 1 skipped
+Totals: 2 passed, 0 failed, 1 skipped, 0 blacklisted
********* Finished testing of tst_SingleSkip *********
diff --git a/tests/auto/testlib/selftests/expected_skip.txt b/tests/auto/testlib/selftests/expected_skip.txt
index 9a79e35de3..a48427d3b2 100644
--- a/tests/auto/testlib/selftests/expected_skip.txt
+++ b/tests/auto/testlib/selftests/expected_skip.txt
@@ -10,5 +10,5 @@ SKIP : tst_Skip::singleSkip(local 1) skipping one
QDEBUG : tst_Skip::singleSkip(local 2) this line should only be reached once (true)
PASS : tst_Skip::singleSkip(local 2)
PASS : tst_Skip::cleanupTestCase()
-Totals: 3 passed, 0 failed, 3 skipped
+Totals: 3 passed, 0 failed, 3 skipped, 0 blacklisted
********* Finished testing of tst_Skip *********
diff --git a/tests/auto/testlib/selftests/expected_skipcleanup.txt b/tests/auto/testlib/selftests/expected_skipcleanup.txt
index 35c5d3dccb..3120cffcb6 100644
--- a/tests/auto/testlib/selftests/expected_skipcleanup.txt
+++ b/tests/auto/testlib/selftests/expected_skipcleanup.txt
@@ -4,5 +4,5 @@ PASS : tst_SkipCleanup::initTestCase()
PASS : tst_SkipCleanup::aTestFunction()
SKIP : tst_SkipCleanup::cleanupTestCase() Skip inside cleanupTestCase.
Loc: [tst_skipcleanup.cpp(59)]
-Totals: 2 passed, 0 failed, 1 skipped
+Totals: 2 passed, 0 failed, 1 skipped, 0 blacklisted
********* Finished testing of tst_SkipCleanup *********
diff --git a/tests/auto/testlib/selftests/expected_skipinit.txt b/tests/auto/testlib/selftests/expected_skipinit.txt
index f3de6cd2df..8a2bbe01db 100644
--- a/tests/auto/testlib/selftests/expected_skipinit.txt
+++ b/tests/auto/testlib/selftests/expected_skipinit.txt
@@ -3,5 +3,5 @@ Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HER
SKIP : tst_SkipInit::initTestCase() Skip inside initTestCase. This should skip all tests in the class.
Loc: [tst_skipinit.cpp(55)]
PASS : tst_SkipInit::cleanupTestCase()
-Totals: 1 passed, 0 failed, 1 skipped
+Totals: 1 passed, 0 failed, 1 skipped, 0 blacklisted
********* Finished testing of tst_SkipInit *********
diff --git a/tests/auto/testlib/selftests/expected_skipinitdata.txt b/tests/auto/testlib/selftests/expected_skipinitdata.txt
index 912ab8cd6d..654098630e 100644
--- a/tests/auto/testlib/selftests/expected_skipinitdata.txt
+++ b/tests/auto/testlib/selftests/expected_skipinitdata.txt
@@ -2,5 +2,5 @@
Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
SKIP : tst_SkipInitData::initTestCase() Skip inside initTestCase_data. This should skip all tests in the class.
Loc: [tst_skipinitdata.cpp(56)]
-Totals: 0 passed, 0 failed, 1 skipped
+Totals: 0 passed, 0 failed, 1 skipped, 0 blacklisted
********* Finished testing of tst_SkipInitData *********
diff --git a/tests/auto/testlib/selftests/expected_sleep.txt b/tests/auto/testlib/selftests/expected_sleep.txt
index f007cbdd0e..58c7b928c0 100644
--- a/tests/auto/testlib/selftests/expected_sleep.txt
+++ b/tests/auto/testlib/selftests/expected_sleep.txt
@@ -3,5 +3,5 @@ Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HER
PASS : tst_Sleep::initTestCase()
PASS : tst_Sleep::sleep()
PASS : tst_Sleep::cleanupTestCase()
-Totals: 3 passed, 0 failed, 0 skipped
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Sleep *********
diff --git a/tests/auto/testlib/selftests/expected_strcmp.txt b/tests/auto/testlib/selftests/expected_strcmp.txt
index 4bd3844d08..3d58698781 100644
--- a/tests/auto/testlib/selftests/expected_strcmp.txt
+++ b/tests/auto/testlib/selftests/expected_strcmp.txt
@@ -29,5 +29,5 @@ FAIL! : tst_StrCmp::failByteArraySingleChars() Compared values are not the same
Expected (QByteArray("7")): 37
Loc: [tst_strcmp.cpp(133)]
PASS : tst_StrCmp::cleanupTestCase()
-Totals: 3 passed, 5 failed, 0 skipped
+Totals: 3 passed, 5 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_StrCmp *********
diff --git a/tests/auto/testlib/selftests/expected_subtest.txt b/tests/auto/testlib/selftests/expected_subtest.txt
index 9990b5439d..ba710e54a9 100644
--- a/tests/auto/testlib/selftests/expected_subtest.txt
+++ b/tests/auto/testlib/selftests/expected_subtest.txt
@@ -46,5 +46,5 @@ FAIL! : tst_Subtest::test3(data2) Compared values are not the same
QDEBUG : tst_Subtest::test3(data2) cleanup test3 data2
QDEBUG : tst_Subtest::cleanupTestCase() cleanupTestCase cleanupTestCase (null)
PASS : tst_Subtest::cleanupTestCase()
-Totals: 7 passed, 2 failed, 0 skipped
+Totals: 7 passed, 2 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Subtest *********
diff --git a/tests/auto/testlib/selftests/expected_verbose1.txt b/tests/auto/testlib/selftests/expected_verbose1.txt
index 1711a33004..1c83be75cc 100644
--- a/tests/auto/testlib/selftests/expected_verbose1.txt
+++ b/tests/auto/testlib/selftests/expected_verbose1.txt
@@ -65,5 +65,5 @@ SKIP : tst_Counting::testSkipInCleanup(skip) Skip in cleanup()
PASS : tst_Counting::testSkipInCleanup(after)
INFO : tst_Counting::cleanupTestCase() entering
PASS : tst_Counting::cleanupTestCase()
-Totals: 16 passed, 8 failed, 8 skipped
+Totals: 16 passed, 8 failed, 8 skipped, 0 blacklisted
********* Finished testing of tst_Counting *********
diff --git a/tests/auto/testlib/selftests/expected_verbose2.txt b/tests/auto/testlib/selftests/expected_verbose2.txt
index 068e7357e8..8e4e01b526 100644
--- a/tests/auto/testlib/selftests/expected_verbose2.txt
+++ b/tests/auto/testlib/selftests/expected_verbose2.txt
@@ -101,5 +101,5 @@ SKIP : tst_Counting::testSkipInCleanup(skip) Skip in cleanup()
PASS : tst_Counting::testSkipInCleanup(after)
INFO : tst_Counting::cleanupTestCase() entering
PASS : tst_Counting::cleanupTestCase()
-Totals: 16 passed, 8 failed, 8 skipped
+Totals: 16 passed, 8 failed, 8 skipped, 0 blacklisted
********* Finished testing of tst_Counting *********
diff --git a/tests/auto/testlib/selftests/expected_verifyexceptionthrown.txt b/tests/auto/testlib/selftests/expected_verifyexceptionthrown.txt
index 04db60eccd..43fc30c969 100644
--- a/tests/auto/testlib/selftests/expected_verifyexceptionthrown.txt
+++ b/tests/auto/testlib/selftests/expected_verifyexceptionthrown.txt
@@ -17,5 +17,5 @@ FAIL! : tst_VerifyExceptionThrown::testFailMyDerivedException() Expected except
FAIL! : tst_VerifyExceptionThrown::testFailNoException() Expected exception of type std::exception to be thrown but no exception caught
Loc: [tst_verifyexceptionthrown.cpp(153)]
PASS : tst_VerifyExceptionThrown::cleanupTestCase()
-Totals: 5 passed, 6 failed, 0 skipped
+Totals: 5 passed, 6 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_VerifyExceptionThrown *********
diff --git a/tests/auto/testlib/selftests/expected_warnings.txt b/tests/auto/testlib/selftests/expected_warnings.txt
index e73de980cb..bb77257b79 100644
--- a/tests/auto/testlib/selftests/expected_warnings.txt
+++ b/tests/auto/testlib/selftests/expected_warnings.txt
@@ -22,5 +22,5 @@ INFO : tst_Warnings::testMissingWarningsWithData(second row) Did not receive m
INFO : tst_Warnings::testMissingWarningsWithData(second row) Did not receive message: "Warning1"
FAIL! : tst_Warnings::testMissingWarningsWithData(second row) Not all expected messages were received
PASS : tst_Warnings::cleanupTestCase()
-Totals: 3 passed, 4 failed, 0 skipped
+Totals: 3 passed, 4 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Warnings *********
diff --git a/tests/auto/testlib/selftests/expected_xunit.txt b/tests/auto/testlib/selftests/expected_xunit.txt
index f0b14752f0..4863711bd0 100644
--- a/tests/auto/testlib/selftests/expected_xunit.txt
+++ b/tests/auto/testlib/selftests/expected_xunit.txt
@@ -22,5 +22,5 @@ PASS : tst_Xunit::testFunc6()
XPASS : tst_Xunit::testFunc7() 'true' returned TRUE unexpectedly. ()
Loc: [tst_xunit.cpp(110)]
PASS : tst_Xunit::cleanupTestCase()
-Totals: 5 passed, 3 failed, 1 skipped
+Totals: 5 passed, 3 failed, 1 skipped, 0 blacklisted
********* Finished testing of tst_Xunit *********