summaryrefslogtreecommitdiff
path: root/src/buildstream/_options/optionpool.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildstream/_options/optionpool.py')
-rw-r--r--src/buildstream/_options/optionpool.py35
1 files changed, 16 insertions, 19 deletions
diff --git a/src/buildstream/_options/optionpool.py b/src/buildstream/_options/optionpool.py
index d7541530b..efafdcdce 100644
--- a/src/buildstream/_options/optionpool.py
+++ b/src/buildstream/_options/optionpool.py
@@ -75,8 +75,8 @@ class OptionPool():
opt_type = _OPTION_TYPES[opt_type_name]
except KeyError:
p = option_definition.get_scalar('type').get_provenance()
- raise LoadError(LoadErrorReason.INVALID_DATA,
- "{}: Invalid option type '{}'".format(p, opt_type_name))
+ raise LoadError("{}: Invalid option type '{}'".format(p, opt_type_name),
+ LoadErrorReason.INVALID_DATA)
option = opt_type(option_name, option_definition, self)
self._options[option_name] = option
@@ -95,9 +95,8 @@ class OptionPool():
option = self._options[option_name]
except KeyError as e:
p = option_value.get_provenance()
- raise LoadError(LoadErrorReason.INVALID_DATA,
- "{}: Unknown option '{}' specified"
- .format(p, option_name)) from e
+ raise LoadError("{}: Unknown option '{}' specified"
+ .format(p, option_name), LoadErrorReason.INVALID_DATA) from e
option.load_value(node, transform=transform)
# load_cli_values()
@@ -115,9 +114,8 @@ class OptionPool():
option = self._options[option_name]
except KeyError as e:
if not ignore_unknown:
- raise LoadError(LoadErrorReason.INVALID_DATA,
- "Unknown option '{}' specified on the command line"
- .format(option_name)) from e
+ raise LoadError("Unknown option '{}' specified on the command line"
+ .format(option_name), LoadErrorReason.INVALID_DATA) from e
else:
option.set_value(option_value)
@@ -226,11 +224,11 @@ class OptionPool():
elif val == "False":
return False
else: # pragma: nocover
- raise LoadError(LoadErrorReason.EXPRESSION_FAILED,
- "Failed to evaluate expression: {}".format(expression))
+ raise LoadError("Failed to evaluate expression: {}".format(expression),
+ LoadErrorReason.EXPRESSION_FAILED)
except jinja2.exceptions.TemplateError as e:
- raise LoadError(LoadErrorReason.EXPRESSION_FAILED,
- "Failed to evaluate expression ({}): {}".format(expression, e))
+ raise LoadError("Failed to evaluate expression ({}): {}".format(expression, e),
+ LoadErrorReason.EXPRESSION_FAILED)
# Recursion assistent for lists, in case there
# are lists of lists.
@@ -257,8 +255,7 @@ class OptionPool():
# it being overwritten by a later assertion which might also trigger.
if assertion is not None:
p = node.get_scalar('(!)').get_provenance()
- raise LoadError(LoadErrorReason.USER_ASSERTION,
- "{}: {}".format(p, assertion.strip()))
+ raise LoadError("{}: {}".format(p, assertion.strip()), LoadErrorReason.USER_ASSERTION)
if conditions is not None:
del node['(?)']
@@ -267,8 +264,8 @@ class OptionPool():
tuples = list(condition.items())
if len(tuples) > 1:
provenance = condition.get_provenance()
- raise LoadError(LoadErrorReason.INVALID_DATA,
- "{}: Conditional statement has more than one key".format(provenance))
+ raise LoadError("{}: Conditional statement has more than one key".format(provenance),
+ LoadErrorReason.INVALID_DATA)
expression, value = tuples[0]
try:
@@ -276,12 +273,12 @@ class OptionPool():
except LoadError as e:
# Prepend the provenance of the error
provenance = condition.get_provenance()
- raise LoadError(e.reason, "{}: {}".format(provenance, e)) from e
+ raise LoadError("{}: {}".format(provenance, e), e.reason) from e
if type(value) is not MappingNode: # pylint: disable=unidiomatic-typecheck
provenance = condition.get_provenance()
- raise LoadError(LoadErrorReason.ILLEGAL_COMPOSITE,
- "{}: Only values of type 'dict' can be composed.".format(provenance))
+ raise LoadError("{}: Only values of type 'dict' can be composed.".format(provenance),
+ LoadErrorReason.ILLEGAL_COMPOSITE)
# Apply the yaml fragment if its condition evaluates to true
if apply_fragment: