- Requires:
- Python 3.x
- python-subunit
- testtools
- Author:
- Corey Goldberg, 2014
subunitdetails
takes a binary encoded subunit
stream, and extracts test details (content object attachments) and saves them to the filesystem.
Invoke the subunitdetails
script, with a subunit
file name as an argument. It will extract the embedded content objects (test details) from the subunit
result, into the current directory:
$ subunitdetails <file_name>
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.
Details are MIME-based content objects that may be attached to a TestCase
. This is done using the testtools library (extensions to Python's standard unittest
lib). It allows you to attach any information that you could possibly conceive of to a test, and allows testtools
to use or serialize that information.
Using subunit
, the encoded stream can be parsed. Test suite results and attached Details (with MIME-types) can then be retrieved.
subunit-details uses standard python packaging via setuptools.
There are a few ways to install subunitdetails
.
Install from PyPI using pip (system-wide):
$ sudo pip install subunitdetails
Install from PyPI using pip, into a virtualenv::
$ virtualenv -p python3 .env $ source .env/bin/activate $ pip install subunitdetails
Clone the dev repository and install, using a virtualenv:
$ git clone https://github.com/cgoldberg/subunitdetails.git $ cd subunitdetails $ virtualenv -p python3 .env $ source .env/bin/activate $ python3 setup install