diff options
Diffstat (limited to 'tests/format/project.py')
-rw-r--r-- | tests/format/project.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/tests/format/project.py b/tests/format/project.py index 5b6c474ee..e06e842e5 100644 --- a/tests/format/project.py +++ b/tests/format/project.py @@ -1,7 +1,7 @@ import os import pytest from buildstream import _yaml -from buildstream._exceptions import LoadError, LoadErrorReason +from buildstream._exceptions import LoadError, LoadErrorReason, PluginError from tests.testutils.runcli import cli @@ -13,6 +13,24 @@ DATA_DIR = os.path.join( @pytest.mark.datafiles(DATA_DIR) +def test_project_plugin_load_allowed(cli, datafiles): + project = os.path.join(datafiles.dirname, datafiles.basename, 'plugin-allowed') + result = cli.run(project=project, silent=True, args=[ + 'show', 'element.bst']) + assert result.exit_code == 0 + + +@pytest.mark.datafiles(DATA_DIR) +def test_project_plugin_load_forbidden(cli, datafiles): + project = os.path.join(datafiles.dirname, datafiles.basename, 'plugin-forbidden') + result = cli.run(project=project, silent=True, args=[ + 'show', 'element.bst']) + assert result.exit_code != 0 + assert result.exception + assert isinstance(result.exception, PluginError) + + +@pytest.mark.datafiles(DATA_DIR) def test_project_conf_duplicate_plugins(cli, datafiles): project = os.path.join(datafiles.dirname, datafiles.basename, 'duplicate-plugins') result = cli.run(project=project, silent=True, args=[ |