summaryrefslogtreecommitdiff
path: root/tests/sources/keytest.py
diff options
context:
space:
mode:
authorRaoul Hidalgo Charman <raoul.hidalgocharman@codethink.co.uk>2019-03-19 11:23:32 +0000
committerRaoul Hidalgo Charman <raoul.hidalgocharman@codethink.co.uk>2019-03-19 11:42:18 +0000
commit743cdb6c2d964f6ddf7afa7181f9bf01db05e254 (patch)
tree2a7c4f40a91aa2edd77842f5a36e5d33b7665e37 /tests/sources/keytest.py
parentfcfbc380b88a75af3eff17fa6b676f821ef6aa3c (diff)
downloadbuildstream-raoul/source-key-fix.tar.gz
tests: Check get_unique_key isn't used before trackraoul/source-key-fix
Part of a fix for !1124
Diffstat (limited to 'tests/sources/keytest.py')
-rw-r--r--tests/sources/keytest.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/sources/keytest.py b/tests/sources/keytest.py
new file mode 100644
index 000000000..c01ea5b91
--- /dev/null
+++ b/tests/sources/keytest.py
@@ -0,0 +1,27 @@
+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()