[Buildbot-commits] buildbot ChangeLog,1.596,1.597

Brian Warner warner at users.sourceforge.net
Mon Apr 24 06:45:39 UTC 2006


Update of /cvsroot/buildbot/buildbot
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25669

Modified Files:
	ChangeLog 
Log Message:
Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-506
Creator:  Brian Warner <warner at lothar.com>

add 'build properties', update test_vc

2006-04-23  Brian Warner  <warner at lothar.com>

	* buildbot/test/test_vc.py (VCBase.checkGotRevision): test
	'got_revision' build property for all VC systems that implement
	accurate ones: SVN, Darcs, Arch, Bazaar, Mercurial.

	* buildbot/slave/commands.py (SourceBase._handleGotRevision): try
	to determine which revision we actually obtained
	(CVS.parseGotRevision): implement this for CVS, which just means
	to grab a timestamp. Not ideal, and it depends upon the buildslave
	having a clock that is reasonably well syncronized with the server,
	but it's better than nothing.
	(SVN.parseGotRevision): implement it for SVN, which is accurate
	(Darcs.parseGotRevision): same
	(Arch.parseGotRevision): same
	(Bazaar.parseGotRevision): same
	(Mercurial.parseGotRevision): same

	* buildbot/process/step.py (LoggedRemoteCommand.remoteUpdate):
	keep a record of all non-stdout/stderr/header/rc status updates,
	for the benefit of RemoteCommands that send other useful things,
	like got_revision
	(Source.commandComplete): put any 'got_revision' status values
	into a build property of the same name

	* buildbot/process/step_twisted.py (Trial): update to deal with
	new ShellCommand refactoring

	* docs/buildbot.texinfo (Build Properties): document new feature
	that allows BuildSteps to get/set Build-wide properties like which
	revision was requested and/or checked out.

	* buildbot/interfaces.py (IBuildStatus.getProperty): new method
	* buildbot/status/builder.py (BuildStatus.getProperty): implement
	it. Note that this bumps the persistenceVersion of the saved Build
	object, so add the necessary upgrade-old-version logic to include
	an empty properties dict.

	* buildbot/process/base.py (Build.setProperty): implement it
	(Build.getProperty): same
	(Build.startBuild): change build startup to set 'branch',
	'revision', and 'slavename' properties at the right time

	* buildbot/process/step.py (BuildStep.__init__): change setup to
	require 'build' argument in a better way
	(LoggingBuildStep): split ShellCommand into two pieces, for better
	subclassing elsewhere. LoggingBuildStep is a BuildStep which runs
	a single RemoteCommand that sends stdout/stderr status text. It
	also provides the usual commandComplete / createSummary /
	evaluateCommand / getText methods to be overridden...
	(ShellCommand): .. whereas ShellCommand is specifically for
	running RemoteShellCommands. Other shell-like BuildSteps (like
	Source) can inherit from LoggingBuildStep instead of ShellCommand
	(WithProperties): marker class to do build-property interpolation
	(Source): inherit from LoggingBuildStep instead of ShellCommand
	(RemoteDummy): same

	* buildbot/test/test_properties.py: test new functionality

2006-04-21  Brian Warner  <warner at lothar.com>

	* buildbot/test/test_vc.py: rename testBranch to
	testCheckoutBranch to keep the tests in about the right
	alphabetical order


Index: ChangeLog
===================================================================
RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v
retrieving revision 1.596
retrieving revision 1.597
diff -u -d -r1.596 -r1.597
--- ChangeLog	18 Apr 2006 07:47:58 -0000	1.596
+++ ChangeLog	24 Apr 2006 06:45:37 -0000	1.597
@@ -1,3 +1,69 @@
+2006-04-23  Brian Warner  <warner at lothar.com>
+
+	* buildbot/test/test_vc.py (VCBase.checkGotRevision): test
+	'got_revision' build property for all VC systems that implement
+	accurate ones: SVN, Darcs, Arch, Bazaar, Mercurial.
+
+	* buildbot/slave/commands.py (SourceBase._handleGotRevision): try
+	to determine which revision we actually obtained
+	(CVS.parseGotRevision): implement this for CVS, which just means
+	to grab a timestamp. Not ideal, and it depends upon the buildslave
+	having a clock that is reasonably well syncronized with the server,
+	but it's better than nothing.
+	(SVN.parseGotRevision): implement it for SVN, which is accurate
+	(Darcs.parseGotRevision): same
+	(Arch.parseGotRevision): same
+	(Bazaar.parseGotRevision): same
+	(Mercurial.parseGotRevision): same
+
+	* buildbot/process/step.py (LoggedRemoteCommand.remoteUpdate):
+	keep a record of all non-stdout/stderr/header/rc status updates,
+	for the benefit of RemoteCommands that send other useful things,
+	like got_revision
+	(Source.commandComplete): put any 'got_revision' status values
+	into a build property of the same name
+
+
+	* buildbot/process/step_twisted.py (Trial): update to deal with
+	new ShellCommand refactoring
+
+	* docs/buildbot.texinfo (Build Properties): document new feature
+	that allows BuildSteps to get/set Build-wide properties like which
+	revision was requested and/or checked out.
+
+	* buildbot/interfaces.py (IBuildStatus.getProperty): new method
+	* buildbot/status/builder.py (BuildStatus.getProperty): implement
+	it. Note that this bumps the persistenceVersion of the saved Build
+	object, so add the necessary upgrade-old-version logic to include
+	an empty properties dict.
+
+	* buildbot/process/base.py (Build.setProperty): implement it
+	(Build.getProperty): same
+	(Build.startBuild): change build startup to set 'branch',
+	'revision', and 'slavename' properties at the right time
+
+	* buildbot/process/step.py (BuildStep.__init__): change setup to
+	require 'build' argument in a better way
+	(LoggingBuildStep): split ShellCommand into two pieces, for better
+	subclassing elsewhere. LoggingBuildStep is a BuildStep which runs
+	a single RemoteCommand that sends stdout/stderr status text. It
+	also provides the usual commandComplete / createSummary /
+	evaluateCommand / getText methods to be overridden...
+	(ShellCommand): .. whereas ShellCommand is specifically for
+	running RemoteShellCommands. Other shell-like BuildSteps (like
+	Source) can inherit from LoggingBuildStep instead of ShellCommand
+	(WithProperties): marker class to do build-property interpolation
+	(Source): inherit from LoggingBuildStep instead of ShellCommand
+	(RemoteDummy): same
+
+	* buildbot/test/test_properties.py: test new functionality
+
+2006-04-21  Brian Warner  <warner at lothar.com>
+
+	* buildbot/test/test_vc.py: rename testBranch to
+	testCheckoutBranch to keep the tests in about the right
+	alphabetical order
+
 2006-04-18  Brian Warner  <warner at lothar.com>
 
 	* docs/buildbot.texinfo (PBListener): improve cross-references





More information about the Commits mailing list