diff options
author | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2018-04-06 17:15:06 +0900 |
---|---|---|
committer | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2018-04-06 17:36:42 +0900 |
commit | 337075bb0b244756ed809e981be8ed91c77bff23 (patch) | |
tree | 5e9c92a8b5eeade9ebe37f87d9bb6546ed4f182c | |
parent | 60f2a320cf0fad7fe2eac023daa8362d19582f96 (diff) | |
download | buildstream-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.py | 6 |
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: |