From fed87ed2e20632bc694c394cf44a30186f286cec Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 5 Aug 2014 11:14:26 +0200 Subject: Add autotest for QBS-559. This bug was fixed somewhat accidentally, so make sure it can't creep back in. Task-number: QBS-559 Change-Id: I3f85676f77cbc50b67f226810137860a7733fc6b Reviewed-by: Joerg Bornemann --- .../new-output-artifact-in-dependency/lib.cpp | 1 + .../new-output-artifact-in-dependency/main.cpp | 6 ++++++ .../new-output-artifact-in-dependency/project.qbs | 15 +++++++++++++++ tests/auto/blackbox/tst_blackbox.cpp | 22 ++++++++++++++++++++++ tests/auto/blackbox/tst_blackbox.h | 1 + 5 files changed, 45 insertions(+) create mode 100644 tests/auto/blackbox/testdata/new-output-artifact-in-dependency/lib.cpp create mode 100644 tests/auto/blackbox/testdata/new-output-artifact-in-dependency/main.cpp create mode 100644 tests/auto/blackbox/testdata/new-output-artifact-in-dependency/project.qbs diff --git a/tests/auto/blackbox/testdata/new-output-artifact-in-dependency/lib.cpp b/tests/auto/blackbox/testdata/new-output-artifact-in-dependency/lib.cpp new file mode 100644 index 000000000..56757a701 --- /dev/null +++ b/tests/auto/blackbox/testdata/new-output-artifact-in-dependency/lib.cpp @@ -0,0 +1 @@ +void f() {} diff --git a/tests/auto/blackbox/testdata/new-output-artifact-in-dependency/main.cpp b/tests/auto/blackbox/testdata/new-output-artifact-in-dependency/main.cpp new file mode 100644 index 000000000..b44adf42f --- /dev/null +++ b/tests/auto/blackbox/testdata/new-output-artifact-in-dependency/main.cpp @@ -0,0 +1,6 @@ +//void f(); + +int main() +{ +// f(); +} diff --git a/tests/auto/blackbox/testdata/new-output-artifact-in-dependency/project.qbs b/tests/auto/blackbox/testdata/new-output-artifact-in-dependency/project.qbs new file mode 100644 index 000000000..1e324fd89 --- /dev/null +++ b/tests/auto/blackbox/testdata/new-output-artifact-in-dependency/project.qbs @@ -0,0 +1,15 @@ +import qbs + +Project { + DynamicLibrary { + //Depends { name: "cpp" } + name: "lib" + files: "lib.cpp" + } + + CppApplication { + name: "app" + files: "main.cpp" + Depends { name: "lib" } + } +} diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp index 1da1def94..7c5ce29f0 100644 --- a/tests/auto/blackbox/tst_blackbox.cpp +++ b/tests/auto/blackbox/tst_blackbox.cpp @@ -1823,6 +1823,28 @@ void TestBlackbox::mocCppIncluded() QCOMPARE(runQbs(), 0); } +void TestBlackbox::newOutputArtifactInDependency() +{ + QDir::setCurrent(testDataDir + "/new-output-artifact-in-dependency"); + QCOMPARE(runQbs(), 0); + QVERIFY(m_qbsStdout.contains("linking app")); + const QByteArray linkingLibString = QByteArray("linking ") + + HostOsInfo::dynamicLibraryName("lib").toLatin1(); + QVERIFY(!m_qbsStdout.contains(linkingLibString)); + + waitForNewTimestamp(); + QFile projectFile("project.qbs"); + QVERIFY2(projectFile.open(QIODevice::ReadWrite), qPrintable(projectFile.errorString())); + QByteArray contents = projectFile.readAll(); + contents.replace("//Depends", "Depends"); + projectFile.resize(0); + projectFile.write(contents); + projectFile.close(); + QCOMPARE(runQbs(), 0); + QVERIFY(m_qbsStdout.contains("linking app")); + QVERIFY(m_qbsStdout.contains(linkingLibString)); +} + void TestBlackbox::newPatternMatch() { QDir::setCurrent(testDataDir + "/new-pattern-match"); diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h index 6b63343ef..066d46f5b 100644 --- a/tests/auto/blackbox/tst_blackbox.h +++ b/tests/auto/blackbox/tst_blackbox.h @@ -127,6 +127,7 @@ private slots: void jsExtensionsTextFile(); void inheritQbsSearchPaths(); void mocCppIncluded(); + void newOutputArtifactInDependency(); void newPatternMatch(); void nonBrokenFilesInBrokenProduct(); void objC(); -- cgit v1.2.3