aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/blackbox/tst_blackboxapple.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/blackbox/tst_blackboxapple.cpp')
-rw-r--r--tests/auto/blackbox/tst_blackboxapple.cpp22
1 files changed, 17 insertions, 5 deletions
diff --git a/tests/auto/blackbox/tst_blackboxapple.cpp b/tests/auto/blackbox/tst_blackboxapple.cpp
index d9cabe270..f71cc6aa8 100644
--- a/tests/auto/blackbox/tst_blackboxapple.cpp
+++ b/tests/auto/blackbox/tst_blackboxapple.cpp
@@ -758,16 +758,28 @@ void TestBlackboxApple::xcode()
sdks.insert({ match[1], match[2] });
}
- auto range = sdks.equal_range("macosx");
- QStringList sdkValues;
- for (auto i = range.first; i != range.second; ++i)
- sdkValues.push_back(QString::fromStdString(i->second));
+ const auto getSdksByType = [&sdks]()
+ {
+ QStringList result;
+ std::string sdkType;
+ QStringList sdkValues;
+ for (const auto &sdk: sdks) {
+ if (!sdkType.empty() && sdkType != sdk.first) {
+ result.append(QStringLiteral("%1:['%2']")
+ .arg(QString::fromStdString(sdkType), sdkValues.join("','")));
+ sdkValues.clear();
+ }
+ sdkType = sdk.first;
+ sdkValues.append(QString::fromStdString(sdk.second));
+ }
+ return result;
+ };
QDir::setCurrent(testDataDir + "/xcode");
QbsRunParameters params;
params.arguments = (QStringList()
<< (QStringLiteral("modules.xcode.developerPath:") + developerPath)
- << (QStringLiteral("project.sdks:['") + sdkValues.join("','") + "']"));
+ << (QStringLiteral("project.sdks:{") + getSdksByType().join(",") + "}"));
QCOMPARE(runQbs(params), 0);
}