From 337075bb0b244756ed809e981be8ed91c77bff23 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 6 Apr 2018 17:15:06 +0900 Subject: _options/optionpool.py: Assert valid symbol names for option names. These must be alphanumeric and may not contain dashes. --- buildstream/_options/optionpool.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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: -- cgit v1.2.1