Launchpad

Subunit is a streaming protocol for test results. The protocol is a binary encoding that is easily generated and parsed. By design all the components of the protocol conceptually fit into the xUnit TestCase- >TestResult interaction.

Subunit comes with command line filters to process a subunit stream and
language bindings for python, C, C++ and shell. Bindings are easy to write
for other languages.

A number of useful things can be done easily with subunit:
 * Test aggregation: Tests run separately can be combined and then
   reported/ displayed together. For instance, tests from different languages
   can be shown as a seamless whole.
 * Test archiving: A test run may be recorded and replayed later.
 * Test isolation: Tests that may crash or otherwise interact badly with each
   other can be run seperately and then aggregated, rather than interfering
   with each other.
 * Grid testing: subunit can act as the necessary serialisation and
   deserialiation to get test runs on distributed machines to be reported in
   real time.

Subunit supplies the following filters:
 * tap2subunit - convert perl's TestAnythingPro tocol to subunit.
 * subunit2pyunit - convert a subunit stream to pyunit test results.
 * subunit2gtk - display a subunit stream in a gtk window.
 * subunit2junitxml - convert a subunit stream to a JUnit XML representation.
 * subunit-diff - diff two subunit streams.
 * subunit-filter - filter out tests from a subunit stream.
 * subunit-ls - list the tests present in a subunit stream.
 * subunit-stats - generate a summary of a subunit stream.
 * subunit-tags - add or remove tags from a stream.

A mailing list for discussion, usage and development is at https:/ /launchpad. net/~subunit- dev - all are welcome to join.

Subunit is shipped by recent Debian and Ubuntu versions. Newer versions for Ubuntu may be available from either of the two Personal Package Archives : https:/ /launchpad. net/~subunit/ +archive/ ppa and https:/ /launchpad. net/~subunit/ +archive/ snapshots

Project information

Licence:
Apache Licence, Simplified BSD Licence

RDF metadata

All bugs Latest bugs reported

Read the original on launchpad.net ↗