diff options
Diffstat (limited to 'src/testlib/qtestblacklist.cpp')
-rw-r--r-- | src/testlib/qtestblacklist.cpp | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/src/testlib/qtestblacklist.cpp b/src/testlib/qtestblacklist.cpp index 7b64942e7b..95dfb28e69 100644 --- a/src/testlib/qtestblacklist.cpp +++ b/src/testlib/qtestblacklist.cpp @@ -23,10 +23,14 @@ using namespace Qt::StringLiterals; Blank lines and everything after # is simply ignored. An initial #-line referring to this documentation is kind to readers. Comments can also be used - to indicate the reasons for ignoring particular cases. + to indicate the reasons for ignoring particular cases. Please scope comments + to keywords if possible, to avoid confusion when additional keywords or tests + cases are added later. - The key "ci" applies only when run by COIN. The key "cmake" applies when Qt - is built using CMake. Other keys name platforms, operating systems, + Each blacklist line is interpreted as a list of keywords in an AND-relationship. + To blacklist a test for multiple platforms (OR-relationship), use separate lines. + + The key "ci" applies only when run by COIN. Other keys name platforms, operating systems, distributions, tool-chains or architectures; a ! prefix reverses what it checks. A version, joined to a key (at present, only for distributions and for msvc) with a hyphen, limits the key to the specific version. A keyword @@ -44,24 +48,22 @@ using namespace Qt::StringLiterals; data row's name coincides with that of a local data row, some unintended matches may result; try to keep your data-row tags distinct.) - Subsequent lines give conditions for ignoring this test. + Subsequent lines give conditions for ignoring this test. You need at least + one or the group has no effect. # See qtbase/src/testlib/qtestblacklist.cpp for format # Test doesn't work on QNX at all qnx - # QTBUG-12345 [testFunction] - linux - windows 64bit + linux # QTBUG-12345 + windows 64bit # QTBUG-12345 - # Flaky in COIN on macOS, not reproducible by developers [testSlowly] - ci osx + macos ci # Flaky in COIN on macOS, not reproducible by developers - # Needs basic C++11 support [testfunction2:testData] - msvc-2010 + msvc-2010 # Needs basic C++11 support [getFile:withProxy SSL:localhost] android @@ -72,9 +74,8 @@ using namespace Qt::StringLiterals; For example, to blacklist a QML test on RHEL 7.6: - # QTBUG-12345 [Button::test_display:TextOnly] - ci rhel-7.6 + ci rhel-7.6 # QTBUG-12345 Keys are lower-case. Distribution name and version are supported if QSysInfo's productType() and productVersion() return them. @@ -115,12 +116,18 @@ static QSet<QByteArray> keywords() #ifdef Q_OS_WATCHOS << "watchos" #endif +#ifdef Q_OS_VISIONOS + << "visionos" +#endif #ifdef Q_OS_ANDROID << "android" #endif #ifdef Q_OS_QNX << "qnx" #endif +#ifdef Q_OS_VXWORKS + << "vxworks" +#endif #ifdef Q_OS_WEBOS << "webos" #endif @@ -149,8 +156,10 @@ static QSet<QByteArray> keywords() << "msvc-2015" # elif _MSC_VER <= 1916 << "msvc-2017" -# else +# elif _MSC_VER <= 1929 << "msvc-2019" +# else + << "msvc-2022" # endif #endif @@ -164,8 +173,6 @@ static QSet<QByteArray> keywords() #ifdef QT_BUILD_INTERNAL << "developer-build" #endif - - << "cmake" ; QCoreApplication *app = QCoreApplication::instance(); @@ -257,7 +264,7 @@ void parseBlackList() if (line.isEmpty()) continue; if (line.startsWith('[')) { - function = line.mid(1, line.length() - 2); + function = line.mid(1, line.size() - 2); continue; } bool condition = checkCondition(line); @@ -273,7 +280,8 @@ void parseBlackList() } } -void checkBlackLists(const char *slot, const char *data, const char *global) +// Returns \c true if this test-case is blacklisted. +bool checkBlackLists(const char *slot, const char *data, const char *global) { bool ignore = ignoreAll; @@ -295,7 +303,7 @@ void checkBlackLists(const char *slot, const char *data, const char *global) } } - QTestResult::setBlacklistCurrentTest(ignore); + return ignore; } } // QTestPrivate |