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
All bugs Latest bugs reported
-
Bug #2150097: script to combine test runners
Reported -
Bug #2136952: all_tests.py is missing from sdist
Reported -
Bug #2136951: Testing fails with testtools 2.8.2
Reported -
Bug #2052948: ModuleNotFoundError: No module named 'imp' while installing subunit 1.4.0 using Conan with Python 3.12
Reported -
Bug #2046453: support pytest
Reported