summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/format/list-directive-type-error/element.bst6
-rw-r--r--tests/format/list-directive-type-error/project.conf7
-rw-r--r--tests/format/listdirectiveerrors.py15
3 files changed, 28 insertions, 0 deletions
diff --git a/tests/format/list-directive-type-error/element.bst b/tests/format/list-directive-type-error/element.bst
new file mode 100644
index 000000000..4ac7d95bb
--- /dev/null
+++ b/tests/format/list-directive-type-error/element.bst
@@ -0,0 +1,6 @@
+kind: autotools
+
+sources:
+ (?):
+ - arch == "x86_64":
+ - url: https://example.com/x86_64
diff --git a/tests/format/list-directive-type-error/project.conf b/tests/format/list-directive-type-error/project.conf
new file mode 100644
index 000000000..dde56d7b8
--- /dev/null
+++ b/tests/format/list-directive-type-error/project.conf
@@ -0,0 +1,7 @@
+name: test
+
+options:
+ arch:
+ type: arch
+ description: Example architecture option
+ values: [ x86_32, x86_64 ]
diff --git a/tests/format/listdirectiveerrors.py b/tests/format/listdirectiveerrors.py
index 001b8a49d..9f2cfaaca 100644
--- a/tests/format/listdirectiveerrors.py
+++ b/tests/format/listdirectiveerrors.py
@@ -39,3 +39,18 @@ def test_element_error(cli, datafiles, target):
assert result.exception
assert isinstance(result.exception, LoadError)
assert result.exception.reason == LoadErrorReason.TRAILING_LIST_DIRECTIVE
+
+
+@pytest.mark.datafiles(DATA_DIR)
+def test_project_error(cli, datafiles):
+ project = os.path.join(datafiles.dirname, datafiles.basename, 'list-directive-type-error')
+ result = cli.run(project=project, silent=True, args=[
+ 'show',
+ '--deps', 'none',
+ '--format', '%{vars}',
+ 'element.bst'])
+
+ assert result.exit_code != 0
+ assert result.exception
+ assert isinstance(result.exception, LoadError)
+ assert result.exception.reason == LoadErrorReason.ILLEGAL_COMPOSITE