diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/frontend/project/elements/install-to-build.bst | 4 | ||||
-rw-r--r-- | tests/frontend/project/elements/installed-to-build.bst | 11 | ||||
-rw-r--r-- | tests/frontend/project/files/build-files/buildstream/build/test | 1 | ||||
-rw-r--r-- | tests/sources/generic.py | 28 | ||||
-rw-r--r-- | tests/sources/generic/elements/install-to-build.bst | 4 | ||||
-rw-r--r-- | tests/sources/generic/files/build-files/buildstream/build/test | 1 | ||||
-rw-r--r-- | tests/sources/generic/project.conf | 4 |
7 files changed, 53 insertions, 0 deletions
diff --git a/tests/frontend/project/elements/install-to-build.bst b/tests/frontend/project/elements/install-to-build.bst new file mode 100644 index 000000000..a892cc69c --- /dev/null +++ b/tests/frontend/project/elements/install-to-build.bst @@ -0,0 +1,4 @@ +kind: import +sources: +- kind: local + path: files/build-files diff --git a/tests/frontend/project/elements/installed-to-build.bst b/tests/frontend/project/elements/installed-to-build.bst new file mode 100644 index 000000000..2e963c977 --- /dev/null +++ b/tests/frontend/project/elements/installed-to-build.bst @@ -0,0 +1,11 @@ +kind: manual +sources: +- kind: local + path: files/build-files + +depends: +- filename: install-to-build.bst + type: build + +config: + strip-commands: [] diff --git a/tests/frontend/project/files/build-files/buildstream/build/test b/tests/frontend/project/files/build-files/buildstream/build/test new file mode 100644 index 000000000..9daeafb98 --- /dev/null +++ b/tests/frontend/project/files/build-files/buildstream/build/test @@ -0,0 +1 @@ +test diff --git a/tests/sources/generic.py b/tests/sources/generic.py new file mode 100644 index 000000000..6365d8d90 --- /dev/null +++ b/tests/sources/generic.py @@ -0,0 +1,28 @@ +import os +import pathlib + +import pytest + +from .fixture import Setup +from buildstream.exceptions import SourceError + +# Project directory +DATA_DIR = os.path.join( + os.path.dirname(os.path.realpath(__file__)), + "generic", +) + + +@pytest.mark.datafiles(DATA_DIR) +def test_staging_to_existing(tmpdir, datafiles): + setup = Setup(datafiles, 'elements/install-to-build.bst', tmpdir) + + # Create a file in the build directory (/buildstream/build) + build_dir = pathlib.Path(os.path.join(setup.context.builddir, + 'buildstream', 'build')) + build_dir.mkdir(parents=True) + build_dir.joinpath('file').touch() + + # Ensure that we can't stage to an already filled build directory + with pytest.raises(SourceError): + setup.source._stage(setup.context.builddir) diff --git a/tests/sources/generic/elements/install-to-build.bst b/tests/sources/generic/elements/install-to-build.bst new file mode 100644 index 000000000..a892cc69c --- /dev/null +++ b/tests/sources/generic/elements/install-to-build.bst @@ -0,0 +1,4 @@ +kind: import +sources: +- kind: local + path: files/build-files diff --git a/tests/sources/generic/files/build-files/buildstream/build/test b/tests/sources/generic/files/build-files/buildstream/build/test new file mode 100644 index 000000000..9daeafb98 --- /dev/null +++ b/tests/sources/generic/files/build-files/buildstream/build/test @@ -0,0 +1 @@ +test diff --git a/tests/sources/generic/project.conf b/tests/sources/generic/project.conf new file mode 100644 index 000000000..854e38693 --- /dev/null +++ b/tests/sources/generic/project.conf @@ -0,0 +1,4 @@ +# Project config for frontend build test +name: test + +element-path: elements |