GTest: do not change arguments order of testRunner

transforming list of args to set can change order
of arguments as well as count, which can make
application unable to run

Change-Id: Ib8164e0b7661511f738bdc3b21e74fbaaa6a5252
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Petar Perisin
2021-12-07 22:50:51 +01:00
parent 9575c45cf5
commit 0b736c3f7a

View File

@@ -59,18 +59,18 @@ QStringList filterInterfering(const QStringList &provided, QStringList *omitted)
"--gtest_print_time="
};
QSet<QString> allowed = Utils::filtered(Utils::toSet(provided), [] (const QString &arg) {
QStringList allowed = Utils::filtered(provided, [] (const QString &arg) {
return Utils::allOf(knownInterferingOptions, [&arg] (const QString &interfering) {
return !arg.startsWith(interfering);
});
});
if (omitted) {
if (omitted && allowed.size() < provided.size()) {
QSet<QString> providedSet = Utils::toSet(provided);
providedSet.subtract(allowed);
providedSet.subtract(Utils::toSet(allowed));
omitted->append(Utils::toList(providedSet));
}
return Utils::toList(allowed);
return allowed;
}
QStringList GTestConfiguration::argumentsForTestRunner(QStringList *omitted) const