diff options
author | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2017-09-03 16:44:48 -0400 |
---|---|---|
committer | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2017-09-04 04:14:54 -0400 |
commit | d290abe942620b6223371183a62610eda82be638 (patch) | |
tree | 96eedec495933f07df7cd8e532869f4bdad33426 /tests/frontend | |
parent | 4b0adf33098f5f180021e3d3b40be61463c2978d (diff) | |
download | buildstream-d290abe942620b6223371183a62610eda82be638.tar.gz |
tests/frontend/show.py: Added test for `bst show`
Diffstat (limited to 'tests/frontend')
-rw-r--r-- | tests/frontend/show.py | 55 |
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)) |