aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/blackbox
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/blackbox')
-rw-r--r--tests/auto/blackbox/testdata/conditional-export/conditional-export.qbs18
-rw-r--r--tests/auto/blackbox/testdata/conditional-export/main.cpp5
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp13
-rw-r--r--tests/auto/blackbox/tst_blackbox.h1
4 files changed, 37 insertions, 0 deletions
diff --git a/tests/auto/blackbox/testdata/conditional-export/conditional-export.qbs b/tests/auto/blackbox/testdata/conditional-export/conditional-export.qbs
new file mode 100644
index 000000000..c7b6ae09d
--- /dev/null
+++ b/tests/auto/blackbox/testdata/conditional-export/conditional-export.qbs
@@ -0,0 +1,18 @@
+import qbs
+
+Project {
+ property bool enableExport: false
+ Product {
+ name: "dep"
+ Export {
+ condition: project.enableExport
+ Depends { name: "cpp" }
+ cpp.defines: ["THE_DEFINE"]
+ }
+ }
+ CppApplication {
+ name: "theProduct"
+ Depends { name: "dep" }
+ files: "main.cpp"
+ }
+}
diff --git a/tests/auto/blackbox/testdata/conditional-export/main.cpp b/tests/auto/blackbox/testdata/conditional-export/main.cpp
new file mode 100644
index 000000000..d1c1982b0
--- /dev/null
+++ b/tests/auto/blackbox/testdata/conditional-export/main.cpp
@@ -0,0 +1,5 @@
+#ifndef THE_DEFINE
+#error "missing define"
+#endif
+
+int main() { }
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index 8e843f826..2ea112b8e 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -1129,6 +1129,19 @@ void TestBlackbox::concurrentExecutor()
QVERIFY2(!m_qbsStderr.contains("ASSERT"), m_qbsStderr.constData());
}
+void TestBlackbox::conditionalExport()
+{
+ QDir::setCurrent(testDataDir + "/conditional-export");
+ QbsRunParameters params;
+ params.expectFailure = true;
+ QVERIFY(runQbs(params) != 0);
+ QVERIFY2(m_qbsStderr.contains("missing define"), m_qbsStderr.constData());
+
+ params.expectFailure = false;
+ params.arguments << "project.enableExport:true";
+ QCOMPARE(runQbs(params), 0);
+}
+
void TestBlackbox::conflictingArtifacts()
{
QDir::setCurrent(testDataDir + "/conflicting-artifacts");
diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h
index a89b9e537..c71020a89 100644
--- a/tests/auto/blackbox/tst_blackbox.h
+++ b/tests/auto/blackbox/tst_blackbox.h
@@ -113,6 +113,7 @@ private slots:
void clean();
void cli();
void concurrentExecutor();
+ void conditionalExport();
void conflictingArtifacts();
void dbusAdaptors();
void dbusInterfaces();