Skip to content

Commit

Permalink
validate slavename while running checkconfig
Browse files Browse the repository at this point in the history
  • Loading branch information
byilmazturk committed Jul 28, 2015
1 parent 2828069 commit 1520524
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions master/buildbot/config.py
Expand Up @@ -538,13 +538,20 @@ def load_slaves(self, filename, config_dict):
error(msg)
return

if sl.slavename in ("debug", "change", "status"):
msg = "slave name '%s' is reserved" % sl.slavename
error(msg)

if not util.identifiers.isIdentifier(50, sl.slavename):
msg = "Buildslave name %r is not a 50-character identifier" % (sl.slavename,)
error(msg)
def validate(slavename):
if sl.slavename in ("debug", "change", "status"):
yield "slave name %r - is reserved" % slavename
if not isinstance(slavename, unicode):
yield "slave name %r - is not a unicode string" % slavename
if not util.identifiers.ident_re.match(slavename):
yield "slave name %r - is not an identifier" % slavename
if len(slavename) < 1:
yield "slave name %r - identifiers cannot be an empty string" % slavename
if len(slavename) > 50:
yield "slave name %r - is longer than %d characters" % (slavename, 50)

for msg in validate(sl.slavename):
error(msg)

self.slaves = config_dict['slaves']

Expand Down

0 comments on commit 1520524

Please sign in to comment.