summaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2021-06-08 12:37:25 +0300
committerGitHub <noreply@github.com>2021-06-08 12:37:25 +0300
commita4a61b6bf8b7659a799dd31dd4f989056b1ccc00 (patch)
tree40675c93feec9a0e0e310b01e6bcb8c41a6dc7ea /test cases
parent98efec5c2b1ede3133470c0fc27e70b2ea4aa731 (diff)
parent6497e52035509a2669720b03bd166a50a834c784 (diff)
downloadmeson-a4a61b6bf8b7659a799dd31dd4f989056b1ccc00.tar.gz
Merge pull request #8512 from bonzini/feature-methods
Utility methods for feature objects
Diffstat (limited to 'test cases')
-rw-r--r--test cases/common/192 feature option/meson.build15
-rw-r--r--test cases/failing/111 feature require/meson.build2
-rw-r--r--test cases/failing/111 feature require/meson_options.txt2
-rw-r--r--test cases/failing/111 feature require/test.json8
4 files changed, 27 insertions, 0 deletions
diff --git a/test cases/common/192 feature option/meson.build b/test cases/common/192 feature option/meson.build
index ef3fa2285..b5e26fac3 100644
--- a/test cases/common/192 feature option/meson.build
+++ b/test cases/common/192 feature option/meson.build
@@ -8,18 +8,33 @@ disabled_opt = get_option('disabled')
assert(not feature_opts.enabled(), 'Should be auto option')
assert(not feature_opts.disabled(), 'Should be auto option')
assert(feature_opts.auto(), 'Should be auto option')
+assert(feature_opts.allowed(), 'Should be auto option')
assert(required_opt.enabled(), 'Should be enabled option')
assert(not required_opt.disabled(), 'Should be enabled option')
assert(not required_opt.auto(), 'Should be enabled option')
+assert(required_opt.allowed(), 'Should be enabled option')
+assert(required_opt.require(true, error_message: 'xyz').enabled(), 'Should be enabled option')
+assert(required_opt.disable_auto_if(true).enabled(), 'Should be enabled option')
+assert(required_opt.disable_auto_if(false).enabled(), 'Should be enabled option')
assert(not optional_opt.enabled(), 'Should be auto option')
assert(not optional_opt.disabled(), 'Should be auto option')
assert(optional_opt.auto(), 'Should be auto option')
+assert(optional_opt.allowed(), 'Should be auto option')
+assert(optional_opt.require(true).auto(), 'Should be auto option')
+assert(optional_opt.require(false, error_message: 'xyz').disabled(), 'Should be disabled auto option')
+assert(optional_opt.disable_auto_if(true).disabled(), 'Should be disabled auto option')
+assert(optional_opt.disable_auto_if(false).auto(), 'Should be auto option')
assert(not disabled_opt.enabled(), 'Should be disabled option')
assert(disabled_opt.disabled(), 'Should be disabled option')
assert(not disabled_opt.auto(), 'Should be disabled option')
+assert(not disabled_opt.allowed(), 'Should be disabled option')
+assert(disabled_opt.require(true).disabled(), 'Should be disabled option')
+assert(disabled_opt.require(false, error_message: 'xyz').disabled(), 'Should be disabled option')
+assert(disabled_opt.disable_auto_if(true).disabled(), 'Should be disabled option')
+assert(disabled_opt.disable_auto_if(false).disabled(), 'Should be disabled option')
dep = dependency('threads', required : required_opt)
assert(dep.found(), 'Should find required "threads" dep')
diff --git a/test cases/failing/111 feature require/meson.build b/test cases/failing/111 feature require/meson.build
new file mode 100644
index 000000000..d976ae8d6
--- /dev/null
+++ b/test cases/failing/111 feature require/meson.build
@@ -0,0 +1,2 @@
+project('no fallback', 'c')
+foo = get_option('reqfeature').require(false, error_message: 'frobnicator not available')
diff --git a/test cases/failing/111 feature require/meson_options.txt b/test cases/failing/111 feature require/meson_options.txt
new file mode 100644
index 000000000..d6f2ce656
--- /dev/null
+++ b/test cases/failing/111 feature require/meson_options.txt
@@ -0,0 +1,2 @@
+option('reqfeature', type : 'feature', value : 'enabled', description : 'A required feature')
+
diff --git a/test cases/failing/111 feature require/test.json b/test cases/failing/111 feature require/test.json
new file mode 100644
index 000000000..7c4640de0
--- /dev/null
+++ b/test cases/failing/111 feature require/test.json
@@ -0,0 +1,8 @@
+{
+ "stdout": [
+ {
+ "match": "re",
+ "line": ".*/meson\\.build:2:0: ERROR: Feature reqfeature cannot be enabled: frobnicator not available"
+ }
+ ]
+}