diff options
Diffstat (limited to 'tests')
21 files changed, 120 insertions, 39 deletions
diff --git a/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product1/product1.qbs b/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product1/product1.qbs index 5d2978f7e..c4a78a30b 100644 --- a/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product1/product1.qbs +++ b/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product1/product1.qbs @@ -5,8 +5,9 @@ Project { name: "p1lib1" files: ["src/main/jni/lib1.cpp"] qbs.targetPlatform: "android" + Properties { condition: qbs.toolchain.contains("clang"); Android.ndk.appStl: "c++_shared" } Android.ndk.appStl: "stlport_shared" - qbs.architectures: !qbs.architecture ? ["mips", "x86"] : undefined + qbs.architectures: !qbs.architecture ? ["armv7a", "x86"] : undefined cpp.useRPaths: false } @@ -16,6 +17,7 @@ Project { name: "p1lib2" files: ["src/main/jni/lib2.cpp"] qbs.targetPlatform: "android" + Properties { condition: qbs.toolchain.contains("clang"); Android.ndk.appStl: "c++_shared" } Android.ndk.appStl: "stlport_shared" cpp.useRPaths: false } diff --git a/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product2/product2.qbs b/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product2/product2.qbs index 63065883b..9be70dcda 100644 --- a/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product2/product2.qbs +++ b/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product2/product2.qbs @@ -13,6 +13,7 @@ Project { name: "p2lib2" files: ["src/main/jni/lib2.cpp"] qbs.targetPlatform: "android" + Properties { condition: qbs.toolchain.contains("clang"); Android.ndk.appStl: "c++_shared" } Android.ndk.appStl: "stlport_shared" } diff --git a/tests/auto/blackbox/testdata-android/multiple-libs-per-apk/multiple-libs-per-apk.qbs b/tests/auto/blackbox/testdata-android/multiple-libs-per-apk/multiple-libs-per-apk.qbs index 2aafd5861..8b9ded211 100644 --- a/tests/auto/blackbox/testdata-android/multiple-libs-per-apk/multiple-libs-per-apk.qbs +++ b/tests/auto/blackbox/testdata-android/multiple-libs-per-apk/multiple-libs-per-apk.qbs @@ -5,6 +5,7 @@ Project { name: "lib1" files: ["src/main/jni/lib1.cpp"] qbs.targetPlatform: "android" + Properties { condition: qbs.toolchain.contains("clang"); Android.ndk.appStl: "c++_shared" } Android.ndk.appStl: "stlport_shared" cpp.useRPaths: false } @@ -15,6 +16,7 @@ Project { name: "lib2" files: ["src/main/jni/lib2.cpp"] qbs.targetPlatform: "android" + Properties { condition: qbs.toolchain.contains("clang"); Android.ndk.appStl: "c++_shared" } Android.ndk.appStl: "stlport_shared" cpp.useRPaths: false } diff --git a/tests/auto/blackbox/testdata-android/teapot/teapot.qbs b/tests/auto/blackbox/testdata-android/teapot/teapot.qbs index 69e06a032..2b5cb8aba 100644 --- a/tests/auto/blackbox/testdata-android/teapot/teapot.qbs +++ b/tests/auto/blackbox/testdata-android/teapot/teapot.qbs @@ -5,6 +5,7 @@ Project { StaticLibrary { name: "native-glue" qbs.targetPlatform: "android" + cpp.warningLevel: "none" Depends { name: "cpp" } Group { id: glue_sources @@ -22,6 +23,7 @@ Project { StaticLibrary { name: "ndk-helper" qbs.targetPlatform: "android" + cpp.warningLevel: "none" Depends { name: "Android.ndk" } Depends { name: "cpp" } Depends { name: "native-glue" } @@ -49,6 +51,7 @@ Project { files: ["*.cpp", "*.h"].concat( !File.exists(ndkHelperProbe.dir + "/gl3stub.cpp") ? ["gl3stub.c"] : []) } + Properties { condition: qbs.toolchain.contains("clang"); Android.ndk.appStl: "c++_shared" } Android.ndk.appStl: "gnustl_shared" cpp.cxxLanguageVersion: "c++11" @@ -133,6 +136,7 @@ Project { Android.sdk.apkBaseName: name Android.sdk.packageName: "com.sample.teapot" Android.sdk.sourceSetDir: teapotProbe.dir + Properties { condition: qbs.toolchain.contains("clang"); Android.ndk.appStl: "c++_shared" } Android.ndk.appStl: "gnustl_shared" cpp.cxxLanguageVersion: "c++11" cpp.dynamicLibraries: ["log", "android", "EGL", "GLESv2"] diff --git a/tests/auto/blackbox/testdata-apple/apple-multiconfig/apple-multiconfig.qbs b/tests/auto/blackbox/testdata-apple/apple-multiconfig/apple-multiconfig.qbs index 289678dfc..6dca8ffd3 100644 --- a/tests/auto/blackbox/testdata-apple/apple-multiconfig/apple-multiconfig.qbs +++ b/tests/auto/blackbox/testdata-apple/apple-multiconfig/apple-multiconfig.qbs @@ -2,6 +2,7 @@ import qbs.Utilities Project { minimumQbsVersion: "1.8" + property bool enableX86 CppApplication { Depends { name: "singlelib" } @@ -10,7 +11,7 @@ Project { targetName: "singleapp" files: ["app.c"] cpp.rpaths: [cpp.rpathOrigin + "/../../../"] - cpp.minimumMacosVersion: "10.5" + cpp.minimumMacosVersion: "10.6" // Turn off multiplexing aggregate: false @@ -27,7 +28,7 @@ Project { targetName: "singleapp_agg" files: ["app.c"] cpp.rpaths: [cpp.rpathOrigin + "/../../../"] - cpp.minimumMacosVersion: "10.5" + cpp.minimumMacosVersion: "10.6" // Force aggregation when not needed aggregate: true @@ -62,7 +63,7 @@ Project { targetName: "multiapp" files: ["app.c"] cpp.rpaths: [cpp.rpathOrigin + "/../../../"] - cpp.minimumMacosVersion: "10.5" + cpp.minimumMacosVersion: "10.6" install: true installDir: "" @@ -75,8 +76,11 @@ Project { targetName: "fatmultiapp" files: ["app.c"] cpp.rpaths: [cpp.rpathOrigin + "/../../../"] - cpp.minimumMacosVersion: "10.5" - qbs.architectures: ["x86", "x86_64"] + cpp.minimumMacosVersion: "10.6" + qbs.architectures: project.enableX86 ? ["x86", "x86_64"] : ["x86_64"] + qbs.architecture: "x86_64" + multiplexByQbsProperties: project.enableX86 ? ["architectures", "buildVariants"] + : ["buildVariants"] install: true installDir: "" @@ -89,8 +93,8 @@ Project { targetName: "fatmultiappmultivariant" files: ["app.c"] cpp.rpaths: [cpp.rpathOrigin + "/../../../"] - cpp.minimumMacosVersion: "10.5" - qbs.architectures: ["x86", "x86_64"] + cpp.minimumMacosVersion: "10.6" + qbs.architectures: project.enableX86 ? ["x86", "x86_64"] : ["x86_64"] qbs.buildVariants: ["debug", "profile"] install: true @@ -105,7 +109,7 @@ Project { files: ["lib.c"] cpp.sonamePrefix: qbs.targetOS.contains("darwin") ? "@rpath" : undefined cpp.defines: ["VARIANT=" + Utilities.cStringQuote(qbs.buildVariant)] - qbs.architectures: ["x86", "x86_64"] + qbs.architectures: project.enableX86 ? ["x86", "x86_64"] : ["x86_64"] qbs.buildVariants: ["release", "debug", "profile"] install: true @@ -120,7 +124,7 @@ Project { files: ["lib.c"] cpp.sonamePrefix: qbs.targetOS.contains("darwin") ? "@rpath" : undefined cpp.defines: ["VARIANT=" + Utilities.cStringQuote(qbs.buildVariant)] - qbs.architectures: ["x86", "x86_64"] + qbs.architectures: project.enableX86 ? ["x86", "x86_64"] : ["x86_64"] qbs.buildVariants: ["debug", "profile"] install: true @@ -135,7 +139,7 @@ Project { files: ["lib.c"] cpp.sonamePrefix: "@rpath" cpp.defines: ["VARIANT=" + Utilities.cStringQuote(qbs.buildVariant)] - qbs.architectures: ["x86", "x86_64"] + qbs.architectures: project.enableX86 ? ["x86", "x86_64"] : ["x86_64"] qbs.buildVariants: ["debug", "profile"] install: true installDir: "" @@ -147,7 +151,7 @@ Project { files: ["lib.c"] cpp.sonamePrefix: "@rpath" cpp.defines: ["VARIANT=" + Utilities.cStringQuote(qbs.buildVariant)] - qbs.architectures: ["x86", "x86_64"] + qbs.architectures: project.enableX86 ? ["x86", "x86_64"] : ["x86_64"] qbs.buildVariants: ["debug", "profile"] install: true installDir: "" diff --git a/tests/auto/blackbox/testdata-apple/deploymentTarget/deployment.qbs b/tests/auto/blackbox/testdata-apple/deploymentTarget/deployment.qbs index 9f1a466df..9eff57b60 100644 --- a/tests/auto/blackbox/testdata-apple/deploymentTarget/deployment.qbs +++ b/tests/auto/blackbox/testdata-apple/deploymentTarget/deployment.qbs @@ -4,7 +4,7 @@ CppApplication { // Minimum deployment targets that: // - will actually link (as of Xcode 8.1) // - exist for the given architecture(s) - cpp.minimumMacosVersion: qbs.architecture === "x86_64h" ? "10.12" : "10.4" + cpp.minimumMacosVersion: qbs.architecture === "x86_64h" ? "10.12" : "10.6" cpp.minimumIosVersion: ["armv7s", "arm64", "x86_64"].contains(qbs.architecture) ? "7.0" : "6.0" cpp.minimumTvosVersion: "9.0" cpp.minimumWatchosVersion: "2.0" diff --git a/tests/auto/blackbox/testdata-apple/embedInfoPlist/embedInfoPlist.qbs b/tests/auto/blackbox/testdata-apple/embedInfoPlist/embedInfoPlist.qbs index ba36d134c..ba23dc32c 100644 --- a/tests/auto/blackbox/testdata-apple/embedInfoPlist/embedInfoPlist.qbs +++ b/tests/auto/blackbox/testdata-apple/embedInfoPlist/embedInfoPlist.qbs @@ -7,7 +7,7 @@ Project { files: ["main.m"] cpp.frameworks: ["Foundation"] cpp.rpaths: [cpp.rpathOrigin] - cpp.minimumMacosVersion: "10.5" + cpp.minimumMacosVersion: "10.6" bundle.infoPlist: ({ "QBS": "org.qt-project.qbs.testdata.embedInfoPlist" }) diff --git a/tests/auto/blackbox/testdata/dynamic-library-in-module/Dll.qbs b/tests/auto/blackbox/testdata/dynamic-library-in-module/Dll.qbs index b3d901389..1acf606dc 100644 --- a/tests/auto/blackbox/testdata/dynamic-library-in-module/Dll.qbs +++ b/tests/auto/blackbox/testdata/dynamic-library-in-module/Dll.qbs @@ -4,7 +4,7 @@ DynamicLibrary { Properties { condition: qbs.targetOS.contains("darwin") bundle.isBundle: false - cpp.minimumMacosVersion: "10.5" // For -rpath + cpp.minimumMacosVersion: "10.7" // For -rpath } install: true diff --git a/tests/auto/blackbox/testdata/dynamic-library-in-module/theapp.qbs b/tests/auto/blackbox/testdata/dynamic-library-in-module/theapp.qbs index 0be9a2fd4..b9149d091 100644 --- a/tests/auto/blackbox/testdata/dynamic-library-in-module/theapp.qbs +++ b/tests/auto/blackbox/testdata/dynamic-library-in-module/theapp.qbs @@ -1,7 +1,7 @@ Project { CppApplication { name: "theapp" - cpp.minimumMacosVersion: "10.5" // For -rpath + cpp.minimumMacosVersion: "10.7" // For -rpath Depends { name: "theotherlib" } Depends { name: "thethirdlib" } Depends { name: "thefourthlib" } diff --git a/tests/auto/blackbox/testdata/minimumSystemVersion/macappstore.qbs b/tests/auto/blackbox/testdata/minimumSystemVersion/macappstore.qbs index 400bc9397..8440da779 100644 --- a/tests/auto/blackbox/testdata/minimumSystemVersion/macappstore.qbs +++ b/tests/auto/blackbox/testdata/minimumSystemVersion/macappstore.qbs @@ -6,5 +6,5 @@ CppApplication { files: ["main.mm"] consoleApplication: true cpp.frameworks: "Foundation" - cpp.minimumMacosVersion: "10.6.8" + cpp.minimumMacosVersion: "10.7.1" } diff --git a/tests/auto/blackbox/testdata/minimumSystemVersion/specific.qbs b/tests/auto/blackbox/testdata/minimumSystemVersion/specific.qbs index b0b7a7a9b..f6ecab418 100644 --- a/tests/auto/blackbox/testdata/minimumSystemVersion/specific.qbs +++ b/tests/auto/blackbox/testdata/minimumSystemVersion/specific.qbs @@ -20,6 +20,6 @@ CppApplication { Properties { condition: qbs.targetOS.contains("macos") cpp.frameworks: "Foundation" - cpp.minimumMacosVersion: "10.6" + cpp.minimumMacosVersion: "10.7" } } diff --git a/tests/auto/blackbox/testdata/symbolLinkMode/symbolLinkMode.qbs b/tests/auto/blackbox/testdata/symbolLinkMode/symbolLinkMode.qbs index b2df70033..2d3d64b00 100644 --- a/tests/auto/blackbox/testdata/symbolLinkMode/symbolLinkMode.qbs +++ b/tests/auto/blackbox/testdata/symbolLinkMode/symbolLinkMode.qbs @@ -27,7 +27,7 @@ Project { return ["WEAK_IMPORT=", installLib]; } cpp.cxxLanguageVersion: "c++11" - cpp.minimumMacosVersion: "10.5" + cpp.minimumMacosVersion: "10.7" cpp.rpaths: [cpp.rpathOrigin + "/../lib"] Group { @@ -48,7 +48,7 @@ Project { name: "functions" files: ["lib.cpp"] cpp.cxxLanguageVersion: "c++11" - cpp.minimumMacosVersion: "10.5" + cpp.minimumMacosVersion: "10.7" cpp.rpaths: [cpp.rpathOrigin] Properties { @@ -90,7 +90,7 @@ Project { name: "indirect" files: ["indirect.cpp"] cpp.cxxLanguageVersion: "c++11" - cpp.minimumMacosVersion: "10.5" + cpp.minimumMacosVersion: "10.7" Properties { condition: qbs.targetOS.contains("darwin") diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp index ea8b9bd52..5dc858585 100644 --- a/tests/auto/blackbox/tst_blackbox.cpp +++ b/tests/auto/blackbox/tst_blackbox.cpp @@ -1671,7 +1671,7 @@ void TestBlackbox::cxxLanguageVersion() QString mapKey; if (version == "c++17" && m_qbsStdout.contains("is even newer MSVC: true")) mapKey = "msvc-brandnew"; - if (m_qbsStdout.contains("is newer MSVC: true")) + else if (m_qbsStdout.contains("is newer MSVC: true")) mapKey = "msvc-new"; else if (m_qbsStdout.contains("is older MSVC: true")) mapKey = "msvc_old"; @@ -6212,7 +6212,7 @@ void TestBlackbox::minimumSystemVersion_data() const QString specific = []() -> QString { if (HostOsInfo::isMacosHost()) - return "__MAC_OS_X_VERSION_MIN_REQUIRED=1060\nversion 10.6\n"; + return "__MAC_OS_X_VERSION_MIN_REQUIRED=1070\nversion 10.7\n"; if (HostOsInfo::isWindowsHost()) return "WINVER=1536\n6.00 operating system version\n6.00 subsystem version\n"; @@ -6228,8 +6228,8 @@ void TestBlackbox::minimumSystemVersion_data() QTest::newRow("fakewindows") << "fakewindows" << "WINVER=1283\n5.03 operating system " "version\n5.03 subsystem version\n"; if (HostOsInfo::isMacosHost()) - QTest::newRow("macappstore") << "macappstore" << "__MAC_OS_X_VERSION_MIN_REQUIRED=1068\n" - "version 10.6"; + QTest::newRow("macappstore") << "macappstore" << "__MAC_OS_X_VERSION_MIN_REQUIRED=1071\n" + "version 10.7"; } void TestBlackbox::missingBuildGraph() diff --git a/tests/auto/blackbox/tst_blackboxandroid.cpp b/tests/auto/blackbox/tst_blackboxandroid.cpp index d0cf37741..2b8f2bd76 100644 --- a/tests/auto/blackbox/tst_blackboxandroid.cpp +++ b/tests/auto/blackbox/tst_blackboxandroid.cpp @@ -180,6 +180,10 @@ void TestBlackboxAndroid::android_data() .replace("armv5te", "armeabi") .replace("arm64", "arm64-v8a"); }); + const bool usesClang = p.value(QLatin1String("qbs.toolchainType")).toString() == "clang"; + const auto cxxLibPath = [usesClang](const QByteArray &oldcxxLib) { + return QByteArray("lib/${ARCH}/") + (usesClang ? "libc++_shared.so" : oldcxxLib); + }; auto expandArchs = [] (const QByteArrayList &archs, const QByteArrayList &lst) { const QByteArray &archPlaceHolder = "${ARCH}"; @@ -210,7 +214,7 @@ void TestBlackboxAndroid::android_data() "assets/Shaders/ShaderPlain.fsh", "assets/Shaders/VS_ShaderPlain.vsh", "lib/${ARCH}/libgdbserver.so", - "lib/${ARCH}/libgnustl_shared.so", + cxxLibPath("libgnustl_shared.so"), "lib/${ARCH}/libTeapotNativeActivity.so", "res/layout/widgets.xml"})); QTest::newRow("no native") @@ -244,23 +248,23 @@ void TestBlackboxAndroid::android_data() "lib/${ARCH}/libgdbserver.so", "lib/${ARCH}/liblib1.so", "lib/${ARCH}/liblib2.so", - "lib/${ARCH}/libstlport_shared.so"})); + cxxLibPath("libstlport_shared.so")})); QByteArrayList expectedFiles1 = (commonFiles - + expandArchs(QByteArrayList{"mips", "x86"}, { + + expandArchs(QByteArrayList{"armeabi-v7a", "x86"}, { "resources.arsc", "lib/${ARCH}/libgdbserver.so", "lib/${ARCH}/libp1lib1.so", - "lib/${ARCH}/libstlport_shared.so"}) + cxxLibPath("libstlport_shared.so")}) + expandArchs(QByteArrayList{archs}, { "resources.arsc", "lib/${ARCH}/libgdbserver.so", "lib/${ARCH}/libp1lib2.so", - "lib/${ARCH}/libstlport_shared.so"})).toSet().toList(); + cxxLibPath("libstlport_shared.so")})).toSet().toList(); QByteArrayList expectedFiles2 = commonFiles + expandArchs(archs, { "lib/${ARCH}/libgdbserver.so", "lib/${ARCH}/libp2lib1.so", "lib/${ARCH}/libp2lib2.so", - "lib/${ARCH}/libstlport_shared.so"}); + cxxLibPath("libstlport_shared.so")}); QTest::newRow("multiple apks") << "multiple-apks-per-project" << (QStringList() << "twolibs1" << "twolibs2") diff --git a/tests/auto/blackbox/tst_blackboxapple.cpp b/tests/auto/blackbox/tst_blackboxapple.cpp index 76234e6c8..0cb4d5abb 100644 --- a/tests/auto/blackbox/tst_blackboxapple.cpp +++ b/tests/auto/blackbox/tst_blackboxapple.cpp @@ -76,8 +76,13 @@ void TestBlackboxApple::initTestCase() void TestBlackboxApple::appleMultiConfig() { + const auto xcodeVersion = findXcodeVersion(); + const bool supportsX86 = xcodeVersion < qbs::Version(10); + QDir::setCurrent(testDataDir + "/apple-multiconfig"); - QCOMPARE(runQbs(QbsRunParameters(QStringList{"qbs.installPrefix:''"})), 0); + QCOMPARE(runQbs(QbsRunParameters(QStringList{ + "qbs.installPrefix:''", + QString("project.enableX86:") + (supportsX86 ? "true" : "false")})), 0); QVERIFY(QFileInfo2(defaultInstallRoot + "/singleapp.app/Contents/MacOS/singleapp").isExecutable()); QVERIFY(QFileInfo2(defaultInstallRoot + "/singleapp.app/Contents/Info.plist").isRegularFile()); @@ -164,7 +169,6 @@ void TestBlackboxApple::assetCatalog() QFETCH(bool, flatten); const auto xcodeVersion = findXcodeVersion(); - QDir::setCurrent(testDataDir + QLatin1String("/ib/assetcatalog")); rmDirR(relativeBuildDir()); @@ -578,14 +582,16 @@ void TestBlackboxApple::deploymentTarget_data() QTest::addColumn<QString>("cflags"); QTest::addColumn<QString>("lflags"); - QTest::newRow("macos x86") << "macosx" << macos << "x86" - << "-triple i386-apple-macosx10.4" - << "-macosx_version_min 10.4"; + const auto xcodeVersion = findXcodeVersion(); + if (xcodeVersion < qbs::Version(10)) { + QTest::newRow("macos x86") << "macosx" << macos << "x86" + << "-triple i386-apple-macosx10.6" + << "-macosx_version_min 10.6"; + } QTest::newRow("macos x86_64") << "macosx" << macos << "x86_64" - << "-triple x86_64-apple-macosx10.4" - << "-macosx_version_min 10.4"; + << "-triple x86_64-apple-macosx10.6" + << "-macosx_version_min 10.6"; - const auto xcodeVersion = findXcodeVersion(); if (xcodeVersion >= qbs::Version(6)) QTest::newRow("macos x86_64h") << "macosx" << macos << "x86_64h" << "-triple x86_64h-apple-macosx10.12" diff --git a/tests/auto/language/testdata/inherited-properties-items/imports/DebugName.qbs b/tests/auto/language/testdata/inherited-properties-items/imports/DebugName.qbs new file mode 100644 index 000000000..5ac15658c --- /dev/null +++ b/tests/auto/language/testdata/inherited-properties-items/imports/DebugName.qbs @@ -0,0 +1,6 @@ +import qbs + +Properties { + condition: qbs.buildVariant === "debug" + name: "product_debug" +} diff --git a/tests/auto/language/testdata/inherited-properties-items/imports/ReleaseName.qbs b/tests/auto/language/testdata/inherited-properties-items/imports/ReleaseName.qbs new file mode 100644 index 000000000..e33c5652b --- /dev/null +++ b/tests/auto/language/testdata/inherited-properties-items/imports/ReleaseName.qbs @@ -0,0 +1,6 @@ +import qbs + +Properties { + condition: qbs.buildVariant === "release" + name: "product_release" +} diff --git a/tests/auto/language/testdata/inherited-properties-items/inherited-properties-items-product.qbs b/tests/auto/language/testdata/inherited-properties-items/inherited-properties-items-product.qbs new file mode 100644 index 000000000..c20f045c8 --- /dev/null +++ b/tests/auto/language/testdata/inherited-properties-items/inherited-properties-items-product.qbs @@ -0,0 +1,7 @@ +import qbs + +Product { + name: "product_default" + DebugName {} + ReleaseName {} +} diff --git a/tests/auto/language/testdata/inherited-properties-items/inherited-properties-items.qbs b/tests/auto/language/testdata/inherited-properties-items/inherited-properties-items.qbs new file mode 100644 index 000000000..40d41c2fb --- /dev/null +++ b/tests/auto/language/testdata/inherited-properties-items/inherited-properties-items.qbs @@ -0,0 +1,6 @@ +import qbs + +Project { + qbsSearchPaths: sourceDirectory + references: "inherited-properties-items-product.qbs" +} diff --git a/tests/auto/language/tst_language.cpp b/tests/auto/language/tst_language.cpp index fce799a0f..da8f1d7a8 100644 --- a/tests/auto/language/tst_language.cpp +++ b/tests/auto/language/tst_language.cpp @@ -1360,6 +1360,37 @@ void TestLanguage::importCollection() QVERIFY(!exceptionCaught); } +void TestLanguage::inheritedPropertiesItems_data() +{ + QTest::addColumn<QString>("buildVariant"); + QTest::addColumn<QString>("productName"); + QTest::newRow("debug build") << "debug" << "product_debug"; + QTest::newRow("release build") << "release" << "product_release"; +} + +void TestLanguage::inheritedPropertiesItems() +{ + bool exceptionCaught = false; + try { + SetupProjectParameters params = defaultParameters; + QFETCH(QString, buildVariant); + QFETCH(QString, productName); + params.setProjectFilePath + (testProject("inherited-properties-items/inherited-properties-items.qbs")); + params.setOverriddenValues(QVariantMap{std::make_pair("qbs.buildVariant", buildVariant)}); + TopLevelProjectPtr project = loader->loadProject(params); + QVERIFY(!!project); + QHash<QString, ResolvedProductPtr> products = productsFromProject(project); + QCOMPARE(products.size(), 1); + QVERIFY(!!products.value(productName)); + } + catch (const ErrorInfo &e) { + exceptionCaught = true; + qDebug() << e.toString(); + } + QVERIFY(!exceptionCaught); +} + void TestLanguage::invalidBindingInDisabledItem() { bool exceptionCaught = false; diff --git a/tests/auto/language/tst_language.h b/tests/auto/language/tst_language.h index 18027ab45..d724e5fc6 100644 --- a/tests/auto/language/tst_language.h +++ b/tests/auto/language/tst_language.h @@ -113,6 +113,8 @@ private slots: void idUsage(); void idUniqueness(); void importCollection(); + void inheritedPropertiesItems_data(); + void inheritedPropertiesItems(); void invalidBindingInDisabledItem(); void invalidOverrides(); void invalidOverrides_data(); |