diff options
| author | Christian Kandeler <christian.kandeler@digia.com> | 2013-07-15 11:21:25 +0200 |
|---|---|---|
| committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-07-16 10:18:40 +0200 |
| commit | 3315b5a35f86f70d9d3ef32fcc07d90406f5b30a (patch) | |
| tree | b18fe4a2e1ee63563be37416992266c460050315 /tests | |
| parent | 7aff31171eb3e756fc6ac6ff4bb4db6dcc96e42a (diff) | |
| download | qbs-3315b5a35f86f70d9d3ef32fcc07d90406f5b30a.tar.gz | |
Use previous results of calls to "File.exists()" in change tracking.
This is the same kind of "external change" as those coming from the
environment or JavaScript files, and is thus handled the same way.
Change-Id: I0a097d6d5c39ece859e6784f65f77f35a7273d59
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/auto/blackbox/testdata/trackExternalProductChanges/project.qbs | 6 | ||||
| -rw-r--r-- | tests/auto/blackbox/tst_blackbox.cpp | 27 |
2 files changed, 32 insertions, 1 deletions
diff --git a/tests/auto/blackbox/testdata/trackExternalProductChanges/project.qbs b/tests/auto/blackbox/testdata/trackExternalProductChanges/project.qbs index cfd897447..8ed267fa5 100644 --- a/tests/auto/blackbox/testdata/trackExternalProductChanges/project.qbs +++ b/tests/auto/blackbox/testdata/trackExternalProductChanges/project.qbs @@ -1,6 +1,10 @@ import qbs +import qbs.File import "fileList.js" as FileList CppApplication { - files: ["main.cpp"].concat(FileList.fileList()).concat(qbs.getenv("QBS_TEST_PULL_IN_FILE_VIA_ENV") ? ["environmentChange.cpp"] : []) + property pathList filesFromEnv: qbs.getenv("QBS_TEST_PULL_IN_FILE_VIA_ENV") ? ["environmentChange.cpp"] : [] + property pathList filesFromJs: FileList.fileList() + property pathList filesFromFs: File.exists(path + "/fileExists.cpp") ? ["fileExists.cpp"] : [] + files: ["main.cpp"].concat(filesFromJs).concat(filesFromEnv).concat(filesFromFs) } diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp index 8d2f6dbdb..cb91da3fd 100644 --- a/tests/auto/blackbox/tst_blackbox.cpp +++ b/tests/auto/blackbox/tst_blackbox.cpp @@ -596,6 +596,7 @@ void TestBlackbox::trackExternalProductChanges() QVERIFY(m_qbsStdout.contains("compiling main.cpp")); QVERIFY(!m_qbsStdout.contains("compiling environmentChange.cpp")); QVERIFY(!m_qbsStdout.contains("compiling jsFileChange.cpp")); + QVERIFY(!m_qbsStdout.contains("compiling fileExists.cpp")); QbsRunParameters params; params.environment.insert("QBS_TEST_PULL_IN_FILE_VIA_ENV", "1"); @@ -603,12 +604,14 @@ void TestBlackbox::trackExternalProductChanges() QVERIFY(!m_qbsStdout.contains("compiling main.cpp")); QVERIFY(m_qbsStdout.contains("compiling environmentChange.cpp")); QVERIFY(!m_qbsStdout.contains("compiling jsFileChange.cpp")); + QVERIFY(!m_qbsStdout.contains("compiling fileExists.cpp")); rmDirR(buildDir); QCOMPARE(runQbs(), 0); QVERIFY(m_qbsStdout.contains("compiling main.cpp")); QVERIFY(!m_qbsStdout.contains("compiling environmentChange.cpp")); QVERIFY(!m_qbsStdout.contains("compiling jsFileChange.cpp")); + QVERIFY(!m_qbsStdout.contains("compiling fileExists.cpp")); waitForNewTimestamp(); QFile jsFile("fileList.js"); @@ -622,6 +625,30 @@ void TestBlackbox::trackExternalProductChanges() QVERIFY(!m_qbsStdout.contains("compiling main.cpp")); QVERIFY(!m_qbsStdout.contains("compiling environmentChange.cpp")); QVERIFY(m_qbsStdout.contains("compiling jsFileChange.cpp")); + QVERIFY(!m_qbsStdout.contains("compiling fileExists.cpp")); + + rmDirR(buildDir); + QVERIFY(jsFile.open(QIODevice::ReadWrite)); + jsCode = jsFile.readAll(); + jsCode.replace("['jsFileChange.cpp']", "[]"); + jsFile.resize(0); + jsFile.write(jsCode); + jsFile.close(); + QCOMPARE(runQbs(), 0); + QVERIFY(m_qbsStdout.contains("compiling main.cpp")); + QVERIFY(!m_qbsStdout.contains("compiling environmentChange.cpp")); + QVERIFY(!m_qbsStdout.contains("compiling jsFileChange.cpp")); + QVERIFY(!m_qbsStdout.contains("compiling fileExists.cpp")); + + QFile cppFile("fileExists.cpp"); + QVERIFY(cppFile.open(QIODevice::WriteOnly)); + cppFile.write("void fileExists() { }\n"); + cppFile.close(); + QCOMPARE(runQbs(), 0); + QVERIFY(!m_qbsStdout.contains("compiling main.cpp")); + QVERIFY(!m_qbsStdout.contains("compiling environmentChange.cpp")); + QVERIFY(!m_qbsStdout.contains("compiling jsFileChange.cpp")); + QVERIFY(m_qbsStdout.contains("compiling fileExists.cpp")); } void TestBlackbox::trackRemoveFile() |
