You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by no...@apache.org on 2020/12/29 12:30:47 UTC
[buildstream] 04/07: context.py: Add user config node validations
This is an automated email from the ASF dual-hosted git repository.
not-in-ldap pushed a commit to branch validation
in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit 2898557b8d0cbe30b4429b71ab7910a766deafbe
Author: Tristan Maat <tr...@codethink.co.uk>
AuthorDate: Thu Sep 7 11:04:17 2017 +0100
context.py: Add user config node validations
---
buildstream/context.py | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/buildstream/context.py b/buildstream/context.py
index afc46fe..f9c49e0 100644
--- a/buildstream/context.py
+++ b/buildstream/context.py
@@ -153,9 +153,23 @@ class Context():
# Load default config
#
defaults = _yaml.load(_site.default_user_config)
+ _yaml.validate_node(defaults, [
+ 'strict', 'sourcedir',
+ 'builddir', 'artifactdir',
+ 'logdir', 'scheduler',
+ 'artifacts', 'logging'
+ ])
+
if config:
self.config_origin = os.path.abspath(config)
user_config = _yaml.load(config)
+ _yaml.validate_node(user_config, [
+ 'strict', 'sourcedir',
+ 'builddir', 'artifactdir',
+ 'logdir', 'scheduler',
+ 'artifacts', 'logging'
+ ])
+
_yaml.composite(defaults, user_config, typesafe=True)
self.strict_build_plan = _yaml.node_get(defaults, bool, 'strict')
@@ -171,12 +185,18 @@ class Context():
# Load artifact share configuration
artifacts = _yaml.node_get(defaults, Mapping, 'artifacts')
+ _yaml.validate_node(artifacts, ['pull-url', 'push-url', 'push-port'])
self.artifact_pull = _yaml.node_get(artifacts, str, 'pull-url', default_value='') or None
self.artifact_push = _yaml.node_get(artifacts, str, 'push-url', default_value='') or None
self.artifact_push_port = _yaml.node_get(artifacts, int, 'push-port', default_value=22)
# Load logging config
logging = _yaml.node_get(defaults, Mapping, 'logging')
+ _yaml.validate_node(logging, [
+ 'key-length', 'verbose',
+ 'error-lines', 'message-lines',
+ 'debug', 'element-format'
+ ])
self.log_key_length = _yaml.node_get(logging, int, 'key-length')
self.log_debug = _yaml.node_get(logging, bool, 'debug')
self.log_verbose = _yaml.node_get(logging, bool, 'verbose')
@@ -186,6 +206,10 @@ class Context():
# Load scheduler config
scheduler = _yaml.node_get(defaults, Mapping, 'scheduler')
+ _yaml.validate_node(scheduler, [
+ 'on-error', 'fetchers', 'builders',
+ 'pushers', 'network-retries'
+ ])
self.sched_error_action = _yaml.node_get(scheduler, str, 'on-error')
self.sched_fetchers = _yaml.node_get(scheduler, int, 'fetchers')
self.sched_builders = _yaml.node_get(scheduler, int, 'builders')