[Buildbot-devel] AssertionError: Scheduler 'trunkscheduler' uses unknown builder 'factory'
Brian Warner
warner-buildbot at lothar.com
Sun Sep 17 21:01:11 UTC 2006
brett <bneely at gmail.com> writes:
> That sounds like a good step, but the ambiguity for me was the
> distinction between the builder object name and the descriptive name.
> If you have the ability to display an error string for this case, can
> you clarify that point?
I've added the following string to the assert's error message.. how does it
sound?
errmsg = ("The builderNames= argument to Scheduler must be a list "
"of Builder description names (i.e. the 'name' key of the "
"Builder specification dictionary)")
This will be displayed if you do any one of the following:
b1 = {'name': 'fast-builder', 'slavename': 'machine3', 'builddir':
'fast-builder', 'factory': f1}
c['builders'] = [b1]
Scheduler(name='full', branch=None, treeStableTimer=60, builderNames=b1)
Scheduler(name='full', branch=None, treeStableTimer=60, builderNames=[b1])
Scheduler(name='full', branch=None, treeStableTimer=60, builderNames='b1')
This interface (using dictionaries to describe the Builder) was probably the
very first one I created in Buildbot, and it really doesn't behave like
everything else in the config file. (back in those days I was thinking that a
web page where you could configure everything wouldn't be too far off, so I
was trying to make that easier by restricting the config to flat data rather
than using instances everywhere).
I'm tempted to change this at some point. Maybe something like:
b1 = Builder(name="fast-builder", slavename="machine3",
builddir="fast-builder", factory=f1)
And if we're changing that, we might allow Schedulers to accept Builder
instances instead of (or in addition to) the builder names.
thoughts?
-Brian
More information about the devel
mailing list