diff options
author | Tristan van Berkom <tristan.vanberkom@codethink.co.uk> | 2020-06-29 19:59:53 +0900 |
---|---|---|
committer | Tristan van Berkom <tristan.vanberkom@codethink.co.uk> | 2020-07-22 18:37:33 +0900 |
commit | bba83174a36d90ec01ea714c4a63c5144c0b8e1e (patch) | |
tree | d9feb17b74229a7196dd3b99656c57e7c6c7cbc8 | |
parent | fcaa41660f99d8de5cbff8805d4c6ba3e3a90ff2 (diff) | |
download | buildstream-bba83174a36d90ec01ea714c4a63c5144c0b8e1e.tar.gz |
tests/frontend/overlaps.py: Test undefined variables
Ensure that we get the expected provenance when expanding a variable
included in an overlap whitelist entry.
-rw-r--r-- | tests/frontend/overlaps.py | 15 | ||||
-rw-r--r-- | tests/frontend/overlaps/whitelist-undefined.bst | 13 |
2 files changed, 27 insertions, 1 deletions
diff --git a/tests/frontend/overlaps.py b/tests/frontend/overlaps.py index a45fc700d..28bf8a7f5 100644 --- a/tests/frontend/overlaps.py +++ b/tests/frontend/overlaps.py @@ -4,7 +4,7 @@ import os import pytest from buildstream.testing.runcli import cli # pylint: disable=unused-import -from buildstream.exceptions import ErrorDomain +from buildstream.exceptions import ErrorDomain, LoadErrorReason from buildstream import _yaml from buildstream.plugin import CoreWarnings from tests.testutils import generate_junction @@ -71,6 +71,19 @@ def test_overlaps_whitelist_on_overlapper(cli, datafiles): @pytest.mark.datafiles(DATA_DIR) +def test_overlaps_whitelist_undefined_variable(cli, datafiles): + project_dir = str(datafiles) + gen_project(project_dir, False) + result = cli.run(project=project_dir, silent=True, args=["build", "whitelist-undefined.bst"]) + + # Assert that we get the expected undefined variable error, + # and that it has the provenance we expect from whitelist-undefined.bst + # + result.assert_main_error(ErrorDomain.LOAD, LoadErrorReason.UNRESOLVED_VARIABLE) + assert "whitelist-undefined.bst [line 13 column 6]" in result.stderr + + +@pytest.mark.datafiles(DATA_DIR) @pytest.mark.parametrize("use_fatal_warnings", [True, False]) def test_overlaps_script(cli, datafiles, use_fatal_warnings): # Test overlaps with script element to test diff --git a/tests/frontend/overlaps/whitelist-undefined.bst b/tests/frontend/overlaps/whitelist-undefined.bst new file mode 100644 index 000000000..5cb0c645e --- /dev/null +++ b/tests/frontend/overlaps/whitelist-undefined.bst @@ -0,0 +1,13 @@ +kind: import +config: + source: / + target: / +depends: +- b-whitelisted.bst +sources: +- kind: local + path: "a" +public: + bst: + overlap-whitelist: + - "%{undefined-variable}/*" |