summaryrefslogtreecommitdiff
path: root/tests/format/stack.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/format/stack.py')
-rw-r--r--tests/format/stack.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/format/stack.py b/tests/format/stack.py
new file mode 100644
index 000000000..b014e9b5d
--- /dev/null
+++ b/tests/format/stack.py
@@ -0,0 +1,22 @@
+# Pylint doesn't play well with fixtures and dependency injection from pytest
+# pylint: disable=redefined-outer-name
+
+import os
+import pytest
+
+from buildstream.exceptions import ErrorDomain
+from buildstream.testing import cli # pylint: disable=unused-import
+
+DATA_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "stack")
+
+
+#
+# Assert that we have errors when trying to have runtime-only or
+# build-only dependencies.
+#
+@pytest.mark.datafiles(DATA_DIR)
+@pytest.mark.parametrize("target", ["build-only-stack.bst", "runtime-only-stack.bst",])
+def test_require_build_and_run(cli, datafiles, target):
+ project = str(datafiles)
+ result = cli.run(project=project, args=["show", target])
+ result.assert_main_error(ErrorDomain.ELEMENT, "stack-requires-build-and-run")