summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/frontend/project/elements/install-to-build.bst4
-rw-r--r--tests/frontend/project/elements/installed-to-build.bst11
-rw-r--r--tests/frontend/project/files/build-files/buildstream/build/test1
-rw-r--r--tests/sources/generic.py28
-rw-r--r--tests/sources/generic/elements/install-to-build.bst4
-rw-r--r--tests/sources/generic/files/build-files/buildstream/build/test1
-rw-r--r--tests/sources/generic/project.conf4
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