diff options
-rw-r--r-- | tests/format/stack.py | 22 | ||||
-rw-r--r-- | tests/format/stack/elements/build-only-stack.bst | 4 | ||||
-rw-r--r-- | tests/format/stack/elements/dependency.bst | 2 | ||||
-rw-r--r-- | tests/format/stack/elements/runtime-only-stack.bst | 4 | ||||
-rw-r--r-- | tests/format/stack/project.conf | 4 |
5 files changed, 36 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") diff --git a/tests/format/stack/elements/build-only-stack.bst b/tests/format/stack/elements/build-only-stack.bst new file mode 100644 index 000000000..92f1c80f8 --- /dev/null +++ b/tests/format/stack/elements/build-only-stack.bst @@ -0,0 +1,4 @@ +kind: stack + +build-depends: +- dependency.bst diff --git a/tests/format/stack/elements/dependency.bst b/tests/format/stack/elements/dependency.bst new file mode 100644 index 000000000..8c231b6cf --- /dev/null +++ b/tests/format/stack/elements/dependency.bst @@ -0,0 +1,2 @@ +kind: manual +description: This is a dependency diff --git a/tests/format/stack/elements/runtime-only-stack.bst b/tests/format/stack/elements/runtime-only-stack.bst new file mode 100644 index 000000000..b5dd9a7ce --- /dev/null +++ b/tests/format/stack/elements/runtime-only-stack.bst @@ -0,0 +1,4 @@ +kind: stack + +runtime-depends: +- dependency.bst diff --git a/tests/format/stack/project.conf b/tests/format/stack/project.conf new file mode 100644 index 000000000..9a5f11ee1 --- /dev/null +++ b/tests/format/stack/project.conf @@ -0,0 +1,4 @@ +# Basic project +name: test +min-version: 2.0 +element-path: elements |