diff options
Diffstat (limited to 'tests/auto/blackbox')
-rw-r--r-- | tests/auto/blackbox/testdata/conditional-export/conditional-export.qbs | 18 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata/conditional-export/main.cpp | 5 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackbox.cpp | 13 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackbox.h | 1 |
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(); |