To verify that the config file is well-formed and contains no deprecated or invalid elements, use the “checkconfig” command, passing it either a master directory or a config file.
% buildbot checkconfig master.cfg Config file is good! # or % buildbot checkconfig /tmp/masterdir Config file is good!
If the config file has deprecated features (perhaps because you've upgraded the buildmaster and need to update the config file to match), they will be announced by checkconfig. In this case, the config file will work, but you should really remove the deprecated items and use the recommended replacements instead:
% buildbot checkconfig master.cfg /usr/lib/python2.4/site-packages/buildbot/master.py:559: DeprecationWarning: c['sources'] is deprecated as of 0.7.6 and will be removed by 0.8.0 . Please use c['change_source'] instead. warnings.warn(m, DeprecationWarning) Config file is good!
If the config file is simply broken, that will be caught too:
% buildbot checkconfig master.cfg Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/buildbot/scripts/runner.py", line 834, in doCheckConfig ConfigLoader(configFile) File "/usr/lib/python2.4/site-packages/buildbot/scripts/checkconfig.py", line 31, in __init__ self.loadConfig(configFile) File "/usr/lib/python2.4/site-packages/buildbot/master.py", line 480, in loadConfig exec f in localDict File "/home/warner/BuildBot/master/foolscap/master.cfg", line 90, in ? c[bogus] = "stuff" NameError: name 'bogus' is not defined