1Subunit is a streaming protocol for test results.
2
3There are two major revisions of the protocol. Version 1 was trivially human
4readable but had significant defects as far as highly parallel testing was
5concerned - it had no room for doing discovery and execution in parallel,
6required substantial buffering when multiplexing and was fragile - a corrupt
7byte could cause an entire stream to be misparsed. Version 1.1 added
8encapsulation of binary streams which mitigated some of the issues but the core
9remained.
10
11Version 2 shares many of the good characteristics of Version 1 - it can be
12embedded into a regular text stream (e.g. from a build system) and it still
13models xUnit style test execution. It also fixes many of the issues with
14Version 1 - Version 2 can be multiplexed without excessive buffering (in time
15or space), it has a well defined recovery mechanism for dealing with corrupted
16streams (e.g. where two processes write to the same stream concurrently, or
17where the stream generator suffers a bug).
18
19WWW: https://launchpad.net/subunit
20