Package buildbot :: Package process :: Module buildstep :: Class LoggingBuildStep
[frames | no frames]

Class LoggingBuildStep

BuildStep --+
            |
           LoggingBuildStep

Known Subclasses:
RemoteDummy, ShellCommand, Source, Wait

This is an abstract base class, suitable for inheritance by all BuildSteps that invoke RemoteCommands which emit stdout/stderr messages.
Method Summary
  __init__(self, logfiles, *args, **kwargs)
  checkDisconnect(self, f)
  commandComplete(self, cmd)
This is a general-purpose hook method for subclasses.
  createSummary(self, log)
To create summary logs, do something like this: warnings = grep('^Warning:', log.getText()) self.addCompleteLog('warnings', warnings)
  describe(self, done)
  evaluateCommand(self, cmd)
Decide whether the command was SUCCESS, WARNINGS, or FAILURE.
  getColor(self, cmd, results)
  getText(self, cmd, results)
  getText2(self, cmd, results)
We have decided to add a short note about ourselves to the overall build description, probably because something went wrong.
  interrupt(self, reason)
Halt the command, either because the user has decided to cancel the build ('reason' is a string), or because the slave has disconnected ('reason' is a ConnectionLost Failure).
  maybeGetText2(self, cmd, results)
  setStatus(self, cmd, results)
  setupLogfiles(self, cmd, logfiles)
Set up any additional logfiles= logs.
  startCommand(self, cmd, errorMessages)
    Inherited from BuildStep
  acquireLocks(self, res)
  addCompleteLog(self, name, text)
  addHTMLLog(self, name, html)
  addLog(self, name)
  addLogObserver(self, logname, observer)
  addURL(self, name, url)
Add a BuildStep URL to this step.
  failed(self, why)
  finished(self, results)
  getProperty(self, propname)
  getSlaveName(self)
  releaseLocks(self)
  runCommand(self, c)
  setProgress(self, metric, value)
BuildSteps can call self.setProgress() to announce progress along some metric.
  setProperty(self, propname, value)
  setStepStatus(self, step_status)
  setupProgress(self)
  slaveVersion(self, command, oldversion)
Return the version number of the given slave command.
  slaveVersionIsOlderThan(self, command, minversion)
  start(self)
Begin the step.
  startStep(self, remote)
Begin the step.

Instance Variable Summary
    Inherited from BuildStep
buildbot.process.base.Build build: the parent Build which is executing this step
buildbot.status.progress.StepProgress progress: tracks ETA for the step
buildbot.status.builder.BuildStepStatus step_status: collects output status

Class Variable Summary
dict logfiles = {}
list parms = ['build', 'name', 'locks', 'haltOnFailure', 'flu...
tuple progressMetrics = ('output',)
    Inherited from BuildStep
bool flunkOnFailure = False
bool flunkOnWarnings = False
bool haltOnFailure = False
list locks = []
str name = 'generic'
bool useProgress = True
bool warnOnFailure = False
bool warnOnWarnings = False

Method Details

commandComplete(self, cmd)

This is a general-purpose hook method for subclasses. It will be called after the remote command has finished, but before any of the other hook functions are called.

createSummary(self, log)

To create summary logs, do something like this: warnings = grep('^Warning:', log.getText()) self.addCompleteLog('warnings', warnings)

evaluateCommand(self, cmd)

Decide whether the command was SUCCESS, WARNINGS, or FAILURE. Override this to, say, declare WARNINGS if there is any stderr activity, or to say that rc!=0 is not actually an error.

getText2(self, cmd, results)

We have decided to add a short note about ourselves to the overall build description, probably because something went wrong. Return a short list of short strings. If your subclass counts test failures or warnings of some sort, this is a good place to announce the count.

interrupt(self, reason)

Halt the command, either because the user has decided to cancel the build ('reason' is a string), or because the slave has disconnected ('reason' is a ConnectionLost Failure). Any further local processing should be skipped, and the Step completed with an error status. The results text should say something useful like ['step', 'interrupted'] or ['remote', 'lost']
Overrides:
buildbot.process.buildstep.BuildStep.interrupt (inherited documentation)

setupLogfiles(self, cmd, logfiles)

Set up any additional logfiles= logs.

startCommand(self, cmd, errorMessages=[])

Parameters:
cmd - a suitable RemoteCommand which will be launched, with all output being put into our self.stdio_log LogFile

Class Variable Details

logfiles

Type:
dict
Value:
{}                                                                     

parms

Type:
list
Value:
['build',
 'name',
 'locks',
 'haltOnFailure',
 'flunkOnWarnings',
 'flunkOnFailure',
 'warnOnWarnings',
 'warnOnFailure',
...                                                                    

progressMetrics

Type:
tuple
Value:
('output',)                                                            

Generated by Epydoc 2.1 on Sun Dec 10 22:04:44 2006 http://epydoc.sf.net