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