summaryrefslogtreecommitdiff
path: root/test cases/common
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2025-09-02 06:40:04 +0200
committerEli Schwartz <eschwartz93@gmail.com>2025-09-09 09:23:04 -0400
commite0ea239397ab585c8490ca704b14ce2bf66ed7c4 (patch)
tree2093dc60ddf4676990aa0ed2e5cb2549e340513a /test cases/common
parent6174a49522cb3d7b9f925d96ca68c390cb833594 (diff)
downloadmeson-e0ea239397ab585c8490ca704b14ce2bf66ed7c4.tar.gz
msetup: not-found subprojects do not have known options
If a subproject had its SubprojectHolder created, but was disabled, its options were not parsed; therefore the subproject should not be checked for unknown options. Fixes: #14969 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'test cases/common')
-rw-r--r--test cases/common/42 subproject/meson.build4
-rw-r--r--test cases/common/42 subproject/meson.options1
-rw-r--r--test cases/common/42 subproject/subprojects/subunused/meson.build1
-rw-r--r--test cases/common/42 subproject/subprojects/subunused/meson.options1
-rw-r--r--test cases/common/42 subproject/test.json9
5 files changed, 15 insertions, 1 deletions
diff --git a/test cases/common/42 subproject/meson.build b/test cases/common/42 subproject/meson.build
index bc24adbcc..be2d90f7c 100644
--- a/test cases/common/42 subproject/meson.build
+++ b/test cases/common/42 subproject/meson.build
@@ -8,6 +8,7 @@ project('subproj user', 'c',
assert(meson.project_name() == 'subproj user', 'Incorrect project name')
sub = subproject('sublib', version : '1.0.0')
+assert(sub.found())
if meson.project_version() != '2.3.4'
error('Incorrect master project version string:' + meson.project_version())
@@ -29,3 +30,6 @@ unknown_var = sub.get_variable('does-not-exist', [])
if unknown_var != []
error ('unexpected fallback value for subproject.get_variable()')
endif
+
+unusedsub = subproject('subunused', required: get_option('disabled_feature'))
+assert(not unusedsub.found())
diff --git a/test cases/common/42 subproject/meson.options b/test cases/common/42 subproject/meson.options
new file mode 100644
index 000000000..ae9a39fb1
--- /dev/null
+++ b/test cases/common/42 subproject/meson.options
@@ -0,0 +1 @@
+option('disabled_feature', type: 'feature', value: 'disabled')
diff --git a/test cases/common/42 subproject/subprojects/subunused/meson.build b/test cases/common/42 subproject/subprojects/subunused/meson.build
new file mode 100644
index 000000000..a42fed38b
--- /dev/null
+++ b/test cases/common/42 subproject/subprojects/subunused/meson.build
@@ -0,0 +1 @@
+syntax error because the subproject is unused
diff --git a/test cases/common/42 subproject/subprojects/subunused/meson.options b/test cases/common/42 subproject/subprojects/subunused/meson.options
new file mode 100644
index 000000000..a42fed38b
--- /dev/null
+++ b/test cases/common/42 subproject/subprojects/subunused/meson.options
@@ -0,0 +1 @@
+syntax error because the subproject is unused
diff --git a/test cases/common/42 subproject/test.json b/test cases/common/42 subproject/test.json
index e469052f4..7400ff4a0 100644
--- a/test cases/common/42 subproject/test.json
+++ b/test cases/common/42 subproject/test.json
@@ -7,5 +7,12 @@
{"type": "file", "file": "usr/share/sublib/COPYING"},
{"type": "file", "file": "usr/share/sublib/subprojects/sublib/sublicense1.txt"},
{"type": "file", "file": "usr/share/sublib/subprojects/sublib/sublicense2.txt"}
- ]
+ ],
+ "matrix": {
+ "options": {
+ "subunused:opt1": [
+ { "val": "42" }
+ ]
+ }
+ }
}