[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