diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2013-10-22 16:28:23 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-10-22 16:36:36 +0200 |
commit | afd141c892418419fa0084898c0cc5b03a69f96a (patch) | |
tree | 797b55bb54593dfcb05735d53939c52f0ba6ae6f /tests/auto | |
parent | 1b2f39da7da66f9ea5a4dc163ae5835dd722eccf (diff) | |
download | qbs-afd141c892418419fa0084898c0cc5b03a69f96a.tar.gz |
Take dependencies into account when tracking changes.
They are currently ignored.
Change-Id: I94b89f9b7c6838106670d553429b297823ac861f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/blackbox/testdata/propertyChanges/lib.cpp | 1 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata/propertyChanges/project.qbs | 6 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackbox.cpp | 21 |
3 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/blackbox/testdata/propertyChanges/lib.cpp b/tests/auto/blackbox/testdata/propertyChanges/lib.cpp new file mode 100644 index 000000000..56757a701 --- /dev/null +++ b/tests/auto/blackbox/testdata/propertyChanges/lib.cpp @@ -0,0 +1 @@ +void f() {} diff --git a/tests/auto/blackbox/testdata/propertyChanges/project.qbs b/tests/auto/blackbox/testdata/propertyChanges/project.qbs index 13c568ec5..9b23e08d7 100644 --- a/tests/auto/blackbox/testdata/propertyChanges/project.qbs +++ b/tests/auto/blackbox/testdata/propertyChanges/project.qbs @@ -9,6 +9,7 @@ Project { files: "source1.cpp" } CppApplication { + Depends { name: 'library' } name: "product 2" cpp.defines: project.projectDefines files: "source2.cpp" @@ -18,6 +19,11 @@ Project { cpp.defines: qbs.getenv("QBS_BLACKBOX_DEFINE") files: "source3.cpp" } + DynamicLibrary { + name: "library" + Depends { name: "cpp" } + files: "lib.cpp" + } Product { name: "generated text file" diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp index 0d378259f..8cbbbb50a 100644 --- a/tests/auto/blackbox/tst_blackbox.cpp +++ b/tests/auto/blackbox/tst_blackbox.cpp @@ -1040,6 +1040,7 @@ void TestBlackbox::propertyChanges() QVERIFY(m_qbsStdout.contains("compiling source1.cpp")); QVERIFY(m_qbsStdout.contains("compiling source2.cpp")); QVERIFY(m_qbsStdout.contains("compiling source3.cpp")); + QVERIFY(m_qbsStdout.contains("compiling lib.cpp")); QVERIFY(m_qbsStdout.contains("linking product 1.debug")); QVERIFY(m_qbsStdout.contains("generated.txt")); QFile generatedFile(buildDir + QLatin1String("/generated.txt")); @@ -1052,6 +1053,7 @@ void TestBlackbox::propertyChanges() QVERIFY(!m_qbsStdout.contains("compiling source1.cpp")); QVERIFY(!m_qbsStdout.contains("compiling source2.cpp")); QVERIFY(!m_qbsStdout.contains("compiling source3.cpp")); + QVERIFY(!m_qbsStdout.contains("compiling lib.cpp.cpp")); QVERIFY(!m_qbsStdout.contains("linking")); QVERIFY(!m_qbsStdout.contains("generated.txt")); @@ -1064,6 +1066,7 @@ void TestBlackbox::propertyChanges() QVERIFY(!m_qbsStdout.contains("compiling source1.cpp")); QVERIFY(!m_qbsStdout.contains("compiling source2.cpp")); QVERIFY(!m_qbsStdout.contains("compiling source3.cpp")); + QVERIFY(!m_qbsStdout.contains("compiling lib.cpp")); QVERIFY(!m_qbsStdout.contains("linking")); QVERIFY(!m_qbsStdout.contains("generated.txt")); @@ -1080,6 +1083,7 @@ void TestBlackbox::propertyChanges() QVERIFY(m_qbsStdout.contains("linking product 1.debug")); QVERIFY(!m_qbsStdout.contains("linking product 2")); QVERIFY(!m_qbsStdout.contains("linking product 3")); + QVERIFY(!m_qbsStdout.contains("linking library")); QVERIFY(!m_qbsStdout.contains("generated.txt")); // Incremental build, input property changed via project for second product. @@ -1129,6 +1133,7 @@ void TestBlackbox::propertyChanges() QVERIFY(m_qbsStdout.contains("linking product 1.release")); QVERIFY(m_qbsStdout.contains("compiling source2.cpp")); QVERIFY(m_qbsStdout.contains("compiling source3.cpp")); + QVERIFY(m_qbsStdout.contains("compiling lib.cpp")); QVERIFY(!m_qbsStdout.contains("generated.txt")); QCOMPARE(runQbs(), 0); QVERIFY(m_qbsStdout.contains("compiling source1.cpp")); @@ -1137,6 +1142,21 @@ void TestBlackbox::propertyChanges() QVERIFY(m_qbsStdout.contains("compiling source3.cpp")); QVERIFY(!m_qbsStdout.contains("generated.txt")); + // Incremental build, non-essential dependency removed. + waitForNewTimestamp(); + QVERIFY(projectFile.open(QIODevice::ReadWrite)); + contents = projectFile.readAll(); + contents.replace("Depends { name: 'library' }", "// Depends { name: 'library' }"); + projectFile.resize(0); + projectFile.write(contents); + projectFile.close(); + QCOMPARE(runQbs(), 0); + QVERIFY(!m_qbsStdout.contains("linking product 1")); + QVERIFY(m_qbsStdout.contains("linking product 2")); + QVERIFY(!m_qbsStdout.contains("linking product 3")); + QVERIFY(!m_qbsStdout.contains("linking library")); + QVERIFY(!m_qbsStdout.contains("generated.txt")); + // Incremental build, prepare script of a transformer changed. waitForNewTimestamp(); QVERIFY(projectFile.open(QIODevice::ReadWrite)); @@ -1149,6 +1169,7 @@ void TestBlackbox::propertyChanges() QVERIFY(!m_qbsStdout.contains("compiling source1.cpp")); QVERIFY(!m_qbsStdout.contains("compiling source2.cpp")); QVERIFY(!m_qbsStdout.contains("compiling source3.cpp")); + QVERIFY(!m_qbsStdout.contains("compiling lib.cpp")); QVERIFY(m_qbsStdout.contains("generated.txt")); QVERIFY(generatedFile.open(QIODevice::ReadOnly)); QCOMPARE(generatedFile.readAll(), QByteArray("contents 2")); |