summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2018-04-06 17:15:06 +0900
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2018-04-06 17:36:42 +0900
commit337075bb0b244756ed809e981be8ed91c77bff23 (patch)
tree5e9c92a8b5eeade9ebe37f87d9bb6546ed4f182c
parent60f2a320cf0fad7fe2eac023daa8362d19582f96 (diff)
downloadbuildstream-337075bb0b244756ed809e981be8ed91c77bff23.tar.gz
_options/optionpool.py: Assert valid symbol names for option names.
These must be alphanumeric and may not contain dashes.
-rw-r--r--buildstream/_options/optionpool.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/buildstream/_options/optionpool.py b/buildstream/_options/optionpool.py
index 033639196..42b1baa9a 100644
--- a/buildstream/_options/optionpool.py
+++ b/buildstream/_options/optionpool.py
@@ -66,8 +66,12 @@ class OptionPool():
def load(self, options):
for option_name, option_definition in _yaml.node_items(options):
- opt_type_name = _yaml.node_get(option_definition, str, 'type')
+ # Assert that the option name is a valid symbol
+ p = _yaml.node_get_provenance(options, option_name)
+ _yaml.assert_symbol_name(p, option_name, "option name", allow_dashes=False)
+
+ opt_type_name = _yaml.node_get(option_definition, str, 'type')
try:
opt_type = _OPTION_TYPES[opt_type_name]
except KeyError: