import os import pytest from buildstream._exceptions import ErrorDomain from buildstream.plugintestutils import cli DATA_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "project_key_test") # using the key-test plugin to ensure get_unique_key is never called before # refs are resolved @pytest.mark.datafiles(DATA_DIR) def test_generate_key(cli, datafiles): project_dir = str(datafiles) # check that we don't fail if not tracking due to get_unique_key res = cli.run(project=project_dir, args=["build", "key-test.bst"]) res.assert_main_error(ErrorDomain.PIPELINE, "inconsistent-pipeline") res = cli.run(project=project_dir, args=["source", "track", "key-test.bst"]) res.assert_success() res = cli.run(project=project_dir, args=["build", "--track", "key-test.bst"]) res.assert_success()