aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/blackbox/testdata/changed-files
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-03-25 10:54:45 +0100
committerChristian Kandeler <christian.kandeler@digia.com>2014-03-26 16:21:53 +0100
commit8042731153f49484dc831b7e51675652cef317cb (patch)
tree2fd43db5cc656f2e103f884644f8fd746ee6b7f0 /tests/auto/blackbox/testdata/changed-files
parentc0e86b13594631188d457e0a360799e7de73777d (diff)
Fix "build single file" and "changed files" functionalities.
These had several problems. Firstly, the "changed files" case was implemented by setting all artifacts to "Built" and then setting the ones to "Buildable" that were reachable bottom-up from artifacts corresponding to the respective files. This approach broke with the introduction of rule nodes, because parent nodes do not necessarily exist yet at initialization time. This was not caught due to the lack of an autotest. Secondly, the logic behind the "build single file" functionality was faulty. The assumption was that this could be implemented on top of the "changed file" functionality, which is wrong: Consider the case where you have several cpp files that have not yet been built. Now marking one of them as changed and filtering by the "obj" tag will still cause all of them to be compiled, as we cannot simply exclude all other source files from being built, which would break the build for the normal "changed files" case without tag filtering. Therefore we need a dedicated list of input files by which we can filter transformers. Task-number: QBS-537 Change-Id: I47e2ba6d0cbd073561064640eaf8f63c4e0b39fa Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'tests/auto/blackbox/testdata/changed-files')
-rw-r--r--tests/auto/blackbox/testdata/changed-files/file1.cpp1
-rw-r--r--tests/auto/blackbox/testdata/changed-files/file2.cpp1
-rw-r--r--tests/auto/blackbox/testdata/changed-files/main.cpp1
-rw-r--r--tests/auto/blackbox/testdata/changed-files/project.qbs5
4 files changed, 8 insertions, 0 deletions
diff --git a/tests/auto/blackbox/testdata/changed-files/file1.cpp b/tests/auto/blackbox/testdata/changed-files/file1.cpp
new file mode 100644
index 000000000..1d6ea3b78
--- /dev/null
+++ b/tests/auto/blackbox/testdata/changed-files/file1.cpp
@@ -0,0 +1 @@
+void f1() {}
diff --git a/tests/auto/blackbox/testdata/changed-files/file2.cpp b/tests/auto/blackbox/testdata/changed-files/file2.cpp
new file mode 100644
index 000000000..8ccc02b45
--- /dev/null
+++ b/tests/auto/blackbox/testdata/changed-files/file2.cpp
@@ -0,0 +1 @@
+void f2() {}
diff --git a/tests/auto/blackbox/testdata/changed-files/main.cpp b/tests/auto/blackbox/testdata/changed-files/main.cpp
new file mode 100644
index 000000000..237c8ce18
--- /dev/null
+++ b/tests/auto/blackbox/testdata/changed-files/main.cpp
@@ -0,0 +1 @@
+int main() {}
diff --git a/tests/auto/blackbox/testdata/changed-files/project.qbs b/tests/auto/blackbox/testdata/changed-files/project.qbs
new file mode 100644
index 000000000..7fedd66d5
--- /dev/null
+++ b/tests/auto/blackbox/testdata/changed-files/project.qbs
@@ -0,0 +1,5 @@
+import qbs
+
+CppApplication {
+ files: ["file1.cpp", "file2.cpp", "main.cpp"]
+}