| # 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") |