aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-01-19 10:58:43 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2018-01-19 10:58:43 +0100
commit13e8c5371709c9e1c337c664062aec19930c306b (patch)
tree5cf5ad7eeffbf136f0bfcb17375a118d8160f584 /tests
parent8ba1aa806bdb313161acad22d9b16c33b295e607 (diff)
parentd3e137c20248f6852a91341782011ca58534ed21 (diff)
Merge 1.10 into 1.11
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/language/testdata/qbs1275.qbs42
-rw-r--r--tests/auto/language/tst_language.cpp16
-rw-r--r--tests/auto/language/tst_language.h1
3 files changed, 59 insertions, 0 deletions
diff --git a/tests/auto/language/testdata/qbs1275.qbs b/tests/auto/language/testdata/qbs1275.qbs
new file mode 100644
index 000000000..898e1f165
--- /dev/null
+++ b/tests/auto/language/testdata/qbs1275.qbs
@@ -0,0 +1,42 @@
+import qbs
+
+Project {
+ Product {
+ name: "v-bug"
+
+ Export {
+ Depends { name: "cpp"}
+ cpp.defines: ""
+ }
+ }
+
+ Product {
+ name: "e-bug"
+
+ Export { Depends { name: "v-bug" } }
+ }
+
+ Product {
+ name: "u-bug"
+
+ Export { Depends { name: "c-bug" } }
+ }
+
+ Product {
+ name: "c-bug"
+
+ Export { Depends { name: "e-bug" } }
+ }
+
+ Product
+ {
+ name: "H-bug"
+
+ Depends { name: "e-bug" }
+ Depends { name: "u-bug" }
+
+ Group {
+ qbs.install: true
+ }
+ }
+}
diff --git a/tests/auto/language/tst_language.cpp b/tests/auto/language/tst_language.cpp
index 8124cc2ac..0eb466188 100644
--- a/tests/auto/language/tst_language.cpp
+++ b/tests/auto/language/tst_language.cpp
@@ -2399,6 +2399,22 @@ void TestLanguage::propertyAssignmentInExportedGroup()
QCOMPARE(exceptionCaught, false);
}
+void TestLanguage::qbs1275()
+{
+ bool exceptionCaught = false;
+ try {
+ defaultParameters.setProjectFilePath(testProject("qbs1275.qbs"));
+ const TopLevelProjectPtr project = loader->loadProject(defaultParameters);
+ QVERIFY(!!project);
+ const QHash<QString, ResolvedProductPtr> products = productsFromProject(project);
+ QCOMPARE(products.count(), 5);
+ } catch (const ErrorInfo &e) {
+ exceptionCaught = true;
+ qDebug() << e.toString();
+ }
+ QCOMPARE(exceptionCaught, false);
+}
+
void TestLanguage::qbsPropertiesInProjectCondition()
{
bool exceptionCaught = false;
diff --git a/tests/auto/language/tst_language.h b/tests/auto/language/tst_language.h
index 2a07e8e42..d12fc898a 100644
--- a/tests/auto/language/tst_language.h
+++ b/tests/auto/language/tst_language.h
@@ -145,6 +145,7 @@ private slots:
void propertiesBlockInGroup();
void propertiesItemInModule();
void propertyAssignmentInExportedGroup();
+ void qbs1275();
void qbsPropertiesInProjectCondition();
void qbsPropertyConvenienceOverride();
void relaxedErrorMode();