[Buildbot-commits] buildbot/buildbot/status builder.py,1.73,1.74
Brian Warner
warner at users.sourceforge.net
Tue Jan 3 09:26:43 UTC 2006
Update of /cvsroot/buildbot/buildbot/buildbot/status
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20675/buildbot/status
Modified Files:
builder.py
Log Message:
Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-452
Creator: Brian Warner <warner at monolith.lothar.com>
fix a bug: config-file reload would half-clobber all Schedulers
* buildbot/master.py (BuildMaster): remove the .schedulers
attribute, replacing it with an allSchedulers() method that looks
for all IService children that implement IScheduler. Having only
one parent/child relationship means fewer opportunities for bugs.
(BuildMaster.allSchedulers): new method
(BuildMaster.loadConfig_Schedulers): update to use allSchedulers,
also fix ugly bug that caused any config-file reload to
half-forget about the earlier Schedulers, causing an exception
when a Change arrived and was handed to a half-connected
Scheduler. The exception was in scheduler.py line 54ish:
self.parent.submitBuildSet(bs)
exceptions.AttributeError: 'NoneType' object has no attribute
'submitBuildSet'
(BuildMaster.addChange): update to use allSchedulers()
* buildbot/scheduler.py (BaseScheduler.__implements__): fix this
to work properly with twisted-1.3.0, where you must explicitly
include the __implements__ from parent classes
(BaseScheduler.__repr__): make it easier to distinguish distinct
instances
(BaseUpstreamScheduler.__implements__): same
* buildbot/status/builder.py (Status.getSchedulers): update to
use allSchedulers()
* buildbot/test/test_run.py (Run.testMaster): same
* buildbot/test/test_dependencies.py (Dependencies.findScheduler): same
* buildbot/test/test_config.py (ConfigTest.testSchedulers): same,
make sure Scheduler instances are left alone when an identical
config file is reloaded
(ConfigElements.testSchedulers): make sure Schedulers are properly
comparable
* Makefile (TRIALARGS): my local default Twisted version is now
2.1.0, update the trial arguments accordingly
Index: builder.py
===================================================================
RCS file: /cvsroot/buildbot/buildbot/buildbot/status/builder.py,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -d -r1.73 -r1.74
--- builder.py 27 Nov 2005 00:46:13 -0000 1.73
+++ builder.py 3 Jan 2006 09:26:41 -0000 1.74
@@ -1810,7 +1810,7 @@
def getSchedulers(self):
- return self.botmaster.parent.schedulers
+ return self.botmaster.parent.allSchedulers()
def getBuilderNames(self, categories=None):
if categories == None:
More information about the Commits
mailing list