diff options
author | Valentin David <valentin.david@codethink.co.uk> | 2018-11-06 18:54:41 +0100 |
---|---|---|
committer | richardmaw-codethink <richard.maw@codethink.co.uk> | 2018-11-07 16:28:47 +0000 |
commit | 6ccfab0b1b25990e406446d5cbe5aee83a5e158a (patch) | |
tree | 9b531badbda7771d8ec8c396fc3580f1834bc855 /tests/integration/project | |
parent | 8931e42c252a4dd02469343a6ba6220d2d0b4b59 (diff) | |
download | buildstream-6ccfab0b1b25990e406446d5cbe5aee83a5e158a.tar.gz |
Fix cache corruption by scripts when layout and integration commands are used
Root directory was marked as a non-artifact mount, so not using
SafeHardLink. However integration commands executed with write access
to the root directory.
Fixes #749
Diffstat (limited to 'tests/integration/project')
4 files changed, 33 insertions, 0 deletions
diff --git a/tests/integration/project/elements/script/corruption-image.bst b/tests/integration/project/elements/script/corruption-image.bst new file mode 100644 index 000000000..a1035f929 --- /dev/null +++ b/tests/integration/project/elements/script/corruption-image.bst @@ -0,0 +1,4 @@ +kind: import +sources: +- kind: local + path: files/canary diff --git a/tests/integration/project/elements/script/corruption-integration.bst b/tests/integration/project/elements/script/corruption-integration.bst new file mode 100644 index 000000000..c0f1d12df --- /dev/null +++ b/tests/integration/project/elements/script/corruption-integration.bst @@ -0,0 +1,7 @@ +kind: stack + +public: + bst: + integration-commands: + - echo smashed >>/canary + diff --git a/tests/integration/project/elements/script/corruption.bst b/tests/integration/project/elements/script/corruption.bst new file mode 100644 index 000000000..037d4daca --- /dev/null +++ b/tests/integration/project/elements/script/corruption.bst @@ -0,0 +1,21 @@ +kind: script + +depends: +- filename: base.bst + type: build +- filename: script/corruption-image.bst + type: build +- filename: script/corruption-integration.bst + type: build + +variables: + install-root: "/" + +config: + layout: + - element: base.bst + destination: "/" + - element: script/corruption-image.bst + destination: "/" + - element: script/corruption-integration.bst + destination: "/" diff --git a/tests/integration/project/files/canary b/tests/integration/project/files/canary new file mode 100644 index 000000000..715cb3983 --- /dev/null +++ b/tests/integration/project/files/canary @@ -0,0 +1 @@ +alive |