summaryrefslogtreecommitdiffstats
path: root/src/testlib/qtestblacklist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/testlib/qtestblacklist.cpp')
-rw-r--r--src/testlib/qtestblacklist.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/testlib/qtestblacklist.cpp b/src/testlib/qtestblacklist.cpp
index 04c6aa2717..da98b88989 100644
--- a/src/testlib/qtestblacklist.cpp
+++ b/src/testlib/qtestblacklist.cpp
@@ -135,19 +135,26 @@ static QSet<QByteArray> keywords()
return set;
}
-static bool checkCondition(const QByteArray &condition)
+static QSet<QByteArray> activeConditions()
{
- static QSet<QByteArray> matchedConditions = keywords();
- QList<QByteArray> conds = condition.split(' ');
+ QSet<QByteArray> result = keywords();
QByteArray distributionName = QSysInfo::productType().toLower().toUtf8();
QByteArray distributionRelease = QSysInfo::productVersion().toLower().toUtf8();
if (!distributionName.isEmpty()) {
- if (matchedConditions.find(distributionName) == matchedConditions.end())
- matchedConditions.insert(distributionName);
- matchedConditions.insert(distributionName + "-" + distributionRelease);
+ if (result.find(distributionName) == result.end())
+ result.insert(distributionName);
+ result.insert(distributionName + "-" + distributionRelease);
}
+ return result;
+}
+
+static bool checkCondition(const QByteArray &condition)
+{
+ static const QSet<QByteArray> matchedConditions = activeConditions();
+ QList<QByteArray> conds = condition.split(' ');
+
for (int i = 0; i < conds.size(); ++i) {
QByteArray c = conds.at(i);
bool result = c.startsWith('!');