I'm happy to announce a new project, subunitreporter https://pypi.org/project/subunitreporter/, which provides a reporter plugin for Trial which emits subunit v2 output.
Twisted includes a subunit v1 reporter for Trial. However, the v1 output format must generally be converted to the v2 format before much can be done with it. Additionally, the reporter included with Twisted does not include timing information. The output generated by subunitreporter does include this information.
One useful thing to do with a subunit v2 stream is convert it to junitxml and let CircleCI ingest it. This is precisely the reason I've written this reporter. You can see this in action on some recent Tahoe-LAFS builds. In all cases, builds now include a summary of the number of tests run.
Additionally: On success https://circleci.com/gh/tahoe-lafs/tahoe-lafs/438, slowest test are reported. On failure https://circleci.com/gh/tahoe-lafs/tahoe-lafs/379, the failing tests and their failure details are summarized. Further analysis and reporting https://circleci.com/build-insights/gh/tahoe-lafs/tahoe-lafs/master is also done.
I find this to be a nice development convenience when using CircleCI. Other build systems are likely to be able to use either the subunit v2 output or (like CircleCI) the equivalent junitxml which can trivially be produced from the subunit v2 output.
My thanks to Least Authority TFA GmbH https://leastauthority.com/ for sponsoring these specific Tahoe-LAFS infrastructure improvements as well as the subunitreporter project.
On Mon, Jul 9, 2018 at 12:03 PM Jean-Paul Calderone < firstname.lastname@example.org> wrote:
One useful thing to do with a subunit v2 stream is convert it to junitxml and let CircleCI ingest it. This is precisely the reason I've written this
Jenkins also uses junitxml to parse test results. This is highly useful. Would it be worth modifying twisted's setup.py to pull in subunitreporter as an optional module?