summaryrefslogtreecommitdiff
path: root/tests/frontend
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2017-09-03 16:44:48 -0400
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2017-09-04 04:14:54 -0400
commitd290abe942620b6223371183a62610eda82be638 (patch)
tree96eedec495933f07df7cd8e532869f4bdad33426 /tests/frontend
parent4b0adf33098f5f180021e3d3b40be61463c2978d (diff)
downloadbuildstream-d290abe942620b6223371183a62610eda82be638.tar.gz
tests/frontend/show.py: Added test for `bst show`
Diffstat (limited to 'tests/frontend')
-rw-r--r--tests/frontend/show.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/frontend/show.py b/tests/frontend/show.py
new file mode 100644
index 000000000..e6c754fbe
--- /dev/null
+++ b/tests/frontend/show.py
@@ -0,0 +1,55 @@
+import os
+import pytest
+from tests.testutils.runcli import cli
+
+# Project directory
+DATA_DIR = os.path.join(
+ os.path.dirname(os.path.realpath(__file__)),
+ "project",
+)
+
+
+@pytest.mark.datafiles(DATA_DIR)
+@pytest.mark.parametrize("target,format,expected", [
+ ('import-bin.bst', '%{name}', 'import-bin.bst'),
+ ('import-bin.bst', '%{state}', 'buildable'),
+ ('compose-all.bst', '%{state}', 'waiting')
+])
+def test_show(cli, datafiles, target, format, expected):
+ project = os.path.join(datafiles.dirname, datafiles.basename)
+ checkout = os.path.join(cli.directory, 'checkout')
+ result = cli.run(project=project, silent=True, args=[
+ 'show',
+ '--deps', 'none',
+ '--format', format,
+ target])
+ assert result.exit_code == 0
+
+ if result.output.strip() != expected:
+ raise AssertionError("Expected output:\n{}\nInstead received output:\n{}"
+ .format(expected, result.output))
+
+
+@pytest.mark.datafiles(DATA_DIR)
+@pytest.mark.parametrize("target,except_,expected", [
+ ('target.bst', 'import-bin.bst', ['import-dev.bst', 'compose-all.bst', 'target.bst']),
+ ('target.bst', 'import-dev.bst', ['import-bin.bst', 'compose-all.bst', 'target.bst']),
+ ('target.bst', 'compose-all.bst', ['import-bin.bst', 'target.bst']),
+ ('compose-all.bst', 'import-bin.bst', ['import-dev.bst', 'compose-all.bst'])
+])
+def test_show_except(cli, datafiles, target, except_, expected):
+ project = os.path.join(datafiles.dirname, datafiles.basename)
+ checkout = os.path.join(cli.directory, 'checkout')
+ result = cli.run(project=project, silent=True, args=[
+ 'show',
+ '--deps', 'all',
+ '--format', '%{name}',
+ '--except', except_,
+ target])
+
+ assert result.exit_code == 0
+
+ results = result.output.strip().splitlines()
+ if results != expected:
+ raise AssertionError("Expected elements:\n{}\nInstead received elements:\n{}"
+ .format(expected, results))