diff options
author | Tristan van Berkom <tristan@codethink.co.uk> | 2020-12-08 17:42:38 +0900 |
---|---|---|
committer | Tristan van Berkom <tristan@codethink.co.uk> | 2020-12-10 21:40:20 +0900 |
commit | 091c9c8555f37b2ac50c0c696bb367fb992cb899 (patch) | |
tree | 23cb74a92638ec18677313d1f8735dc8426ab853 | |
parent | 0b94cd15c725f1cbf1b8fc4bca17374396e1a299 (diff) | |
download | buildstream-tristan/stack-require-depends-all.tar.gz |
tests/format/stack.py: Test stack dependency typestristan/stack-require-depends-all
Assert that errors are raised when stack dependencies are declared as
build-only or runtime-only dependencies.
-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 |