# 3.3.8. Build Result Codes

Buildbot represents the status of a step, build, or buildset using a set of numeric constants. From Python, these constants are available in the module `buildbot.process.results`, but the values also appear in the database and in external tools, so the values are fixed.

buildbot.process.results.SUCCESS

  Value: 0; color: green; a successful run.

buildbot.process.results.WARNINGS

  Value: 1; color: orange; a successful run, with some warnings.

buildbot.process.results.FAILURE

  Value: 2; color: red; a failed run, due to problems in the build itself, as opposed to a Buildbot misconfiguration or bug.

buildbot.process.results.SKIPPED

  Value: 3; color: white; a run that was skipped – usually a step skipped by `doStepIf` (see Parameters Common to all Steps)

buildbot.process.results.EXCEPTION

  Value: 4; color: purple; a run that failed due to a problem in Buildbot itself.

buildbot.process.results.RETRY

  Value: 5; color: purple; a run that should be retried, usually due to a worker disconnection.

buildbot.process.results.CANCELLED

  Value: 6; color: pink; a run that was cancelled by the user.

buildbot.process.results.Results

  A dictionary mapping result codes to their lowercase names.

buildbot.process.results.worst_status(a, b)

  This function takes two status values, and returns the “worst” status of the two. This is used to aggregate step statuses into build statuses, and build statuses into buildset statuses.

buildbot.process.results.computeResultAndTermination(obj, result, previousResult)
  Parameters:

    - obj – an object with the attributes of `ResultComputingConfigMixin`

    - result – the new result

    - previousResult – the previous aggregated result

  Building on `worst_status`, this function determines what the aggregated overall status is, as well as whether the attempt should be terminated, based on the configuration in `obj`.

class buildbot.process.results.ResultComputingConfigMixin

  This simple mixin is intended to help implement classes that will use `computeResultAndTermination`. The class has, as class attributes, the result computing configuration parameters with default values:

  haltOnFailure
  flunkOnWarnings
  flunkOnFailure
  warnOnWarnings
  warnOnFailure

  The names of these attributes are available in the following attribute:

  resultConfig