Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1309)

Unified Diff: third_party/buildbot_8_4p1/buildbot/master.py

Issue 1440163005: Allow users to customize the sanity-checking regexes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/buildbot_8_4p1/buildbot/master.py
diff --git a/third_party/buildbot_8_4p1/buildbot/master.py b/third_party/buildbot_8_4p1/buildbot/master.py
index 9ecc2d0e5596daf0132c9a036222ce05c3a814e2..4b322eebeaed284fd029ea935c3240b1373208c6 100644
--- a/third_party/buildbot_8_4p1/buildbot/master.py
+++ b/third_party/buildbot_8_4p1/buildbot/master.py
@@ -14,6 +14,7 @@
# Copyright Buildbot Team Members
+import re
import os
import signal
import time
@@ -355,6 +356,22 @@ class BuildMaster(service.MultiService):
caches_config = config.get("caches", {})
autoBuildCacheRatio = config.get("autoBuildCacheRatio", None)
+ # load validation, with defaults, and verify no unrecognized
+ # keys are included.
+ validation_defaults = {
+ 'branch': re.compile(r'^[\w.+/~-]*$'),
+ 'revision': re.compile(r'^[\w.+/~-]*$'),
+ 'property_name': re.compile(r'^[\w\.\-\/\~:]*$'),
+ 'property_value': re.compile(r'^[\w\.\-\/\~:]*$'),
+ }
+ validation_config = validation_defaults.copy()
+ validation_config.update(config.get("validation", {}))
+ v_config_keys = set(validation_config.keys())
+ v_default_keys = set(validation_defaults.keys())
+ if v_config_keys > v_default_keys:
+ raise ValueError("unrecognized validation key(s): %s" %
+ (", ".join(v_config_keys - v_default_keys,)))
+
except KeyError:
log.msg("config dictionary is missing a required parameter")
log.msg("leaving old configuration in place")
@@ -382,6 +399,7 @@ class BuildMaster(service.MultiService):
raise KeyError("must have a 'slaves' key")
self.config.changeHorizon = changeHorizon
+ self.config.validation = validation_config
change_source = config.get('change_source', [])
if isinstance(change_source, (list, tuple)):
« no previous file with comments | « third_party/buildbot_8_4p1/buildbot/config.py ('k') | third_party/buildbot_8_4p1/buildbot/status/web/base.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698