--------------------- subunit release notes --------------------- 0.0.3 (In development) ---------------------- CHANGES: * License change, by unanimous agreement of contributors to BSD/Apache License Version 2.0. This makes Subunit compatible with more testing frameworks. IMPROVEMENTS: * CPPUnit is now directly supported: subunit builds a cppunit listener ``libcppunit-subunit``. * INSTALLDIRS can be set to control the perl MakeMaker 'INSTALLDIRS' viarable when installing. BUG FIXES: * Install progress_model.py correctly. API CHANGES: INTERNALS: 0.0.2 ----- CHANGES: IMPROVEMENTS: * A number of filters now support ``--no-passthrough`` to cause all non-subunit content to be discarded. This is useful when precise control over what is output is required - such as with subunit2junitxml. * A small perl parser is now included, and a new ``subunit-diff`` tool using that is included. (Jelmer Vernooij) * Subunit streams can now include optional, incremental lookahead information about progress. This allows reporters to make estimates about completion, when such information is available. See the README under ``progress`` for more details. * ``subunit-filter`` now supports regex filtering via ``--with`` and ``without`` options. (Martin Pool) * ``subunit2gtk`` has been added, a filter that shows a GTK summary of a test stream. * ``subunit2pyunit`` has a --progress flag which will cause the bzrlib test reporter to be used, which has a textual progress bar. This requires a recent bzrlib as a minor bugfix was required in bzrlib to support this. * ``subunit2junitxml`` has been added. This filter converts a subunit stream to a single JUnit style XML stream using the pyjunitxml python library. * The shell functions support skipping via ``subunit_skip_test`` now. BUG FIXES: * ``xfail`` outcomes are now passed to python TestResult's via addExpectedFailure if it is present on the TestResult. Python 2.6 and earlier which do not have this function will have ``xfail`` outcomes passed through as success outcomes as earlier versions of subunit did. API CHANGES: * tags are no longer passed around in python via the ``TestCase.tags`` attribute. Instead ``TestResult.tags(new_tags, gone_tags)`` is called, and like in the protocol, if called while a test is active only applies to that test. (Robert Collins) * ``TestResultFilter`` takes a new optional constructor parameter ``filter_predicate``. (Martin Pool) * When a progress: directive is encountered in a subunit stream, the python bindings now call the ``progress(offset, whence)`` method on ``TestResult``. * When a time: directive is encountered in a subunit stream, the python bindings now call the ``time(seconds)`` method on ``TestResult``. INTERNALS: * (python) Added ``subunit.test_results.AutoTimingTestResultDecorator``. Most users of subunit will want to wrap their ``TestProtocolClient`` objects in this decorator to get test timing data for performance analysis. * (python) ExecTestCase supports passing arguments to test scripts. * (python) New helper ``subunit.test_results.HookedTestResultDecorator`` which can be used to call some code on every event, without having to implement all the event methods. * (python) ``TestProtocolClient.time(a_datetime)`` has been added which causes a timestamp to be output to the stream.