diff options
author | Benoit Pierre <benoit.pierre@gmail.com> | 2021-11-24 19:52:44 +0100 |
---|---|---|
committer | Eli Schwartz <eschwartz93@gmail.com> | 2021-11-25 20:13:53 -0500 |
commit | 007c4659c2154755fc1f57d415afc8a736f81af2 (patch) | |
tree | ff3e72def4535ac89b70d392f9447b73d552e027 | |
parent | 858b114d5cf83827f1bd0fd123b0e00cc1f63961 (diff) | |
download | meson-007c4659c2154755fc1f57d415afc8a736f81af2.zip meson-007c4659c2154755fc1f57d415afc8a736f81af2.tar.gz meson-007c4659c2154755fc1f57d415afc8a736f81af2.tar.bz2 |
interpreter: fix `feature.require` handling of error message
Don't show a blank error when no `error_message` was passed as argument.
4 files changed, 13 insertions, 1 deletions
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py index ccaa1c7..b3dbe55 100644 --- a/mesonbuild/interpreter/interpreterobjects.py +++ b/mesonbuild/interpreter/interpreterobjects.py @@ -139,7 +139,8 @@ class FeatureOptionHolder(ObjectHolder[coredata.UserFeatureOption]): assert isinstance(error_message, str) if self.value == 'enabled': prefix = f'Feature {self.held_object.name} cannot be enabled' - prefix = prefix + ': ' if error_message else '' + if error_message: + prefix += ': ' raise InterpreterException(prefix + error_message) return self.as_disabled() diff --git a/test cases/failing/106 feature require.bis/meson.build b/test cases/failing/106 feature require.bis/meson.build new file mode 100644 index 0000000..08c099c --- /dev/null +++ b/test cases/failing/106 feature require.bis/meson.build @@ -0,0 +1,2 @@ +project('no fallback', 'c') +foo = get_option('reqfeature').require(false) diff --git a/test cases/failing/106 feature require.bis/meson_options.txt b/test cases/failing/106 feature require.bis/meson_options.txt new file mode 100644 index 0000000..5910a87 --- /dev/null +++ b/test cases/failing/106 feature require.bis/meson_options.txt @@ -0,0 +1 @@ +option('reqfeature', type : 'feature', value : 'enabled', description : 'A required feature') diff --git a/test cases/failing/106 feature require.bis/test.json b/test cases/failing/106 feature require.bis/test.json new file mode 100644 index 0000000..2583990 --- /dev/null +++ b/test cases/failing/106 feature require.bis/test.json @@ -0,0 +1,8 @@ +{ + "stdout": [ + { + "match": "re", + "line": ".*/meson\\.build:2:0: ERROR: Feature reqfeature cannot be enabled" + } + ] +} |