X-Git-Url: http://git.samba.org/samba.git/?p=third_party%2Fsubunit;a=blobdiff_plain;f=NEWS;h=9d1100c43c5e49184b1cb1908ca180a54ca901e1;hp=31374d54ed80756317d336d70a74bd3e7f4caf1e;hb=d068eedebb3bfa97386550825f2dc6ecc7d9e352;hpb=2f7069a6b3549acb8568a45b6ca3f09371ca00da diff --git a/NEWS b/NEWS index 31374d5..9d1100c 100644 --- a/NEWS +++ b/NEWS @@ -5,19 +5,306 @@ subunit release notes NEXT (In development) --------------------- +0.0.18 +------ + +IMPROVMENTS +~~~~~~~~~~~ + +* Fix compatibility with testtools 0.9.35 which dropped the 'all' compat + symbol. This breaks support for Python versions lower than 2.6. + (Robert Collins, #1274056) + +0.0.17 +------ + +IMPROVMENTS +~~~~~~~~~~~ + +* Add ``subunit-output`` tool that can generate a Subunit v2 bytestream from + arguments passed on the command line. (Thomi Richards, #1252084) + +0.0.16 +------ + +BUG FIXES +~~~~~~~~~ + +* Perl files should now honour perl system config. + (Benedikt Morbach, #1233198) + +* Python 3.1 and 3.2 have an inconsistent memoryview implementation which + required a workaround for NUL byte detection. (Robert Collins, #1216246) + +* The test suite was failing 6 tests due to testtools changing it's output + formatting of exceptions. (Robert Collins) + +* V2 parser errors now set appropriate mime types for the encapsulated packet + data and the error message. (Robert Collins) + +* When tests fail to import ``python subunit.run -l ...`` will now write a + subunit file attachment listing the failed imports and exit 2, rather than + listing the stub objects from the importer and exiting 0. + (Robert Collins, #1245672) + +IMPROVEMENTS +~~~~~~~~~~~~ + +* Most filters will now accept a file path argument instead of only reading + from stdin. (Robert Collins, #409206) + +0.0.15 +------ + +BUG FIXES +~~~~~~~~~ + +* Clients of subunit did not expect memoryview objects in StreamResult events. + (Robert Collins) + +* Memoryview and struct were mutually incompatible in 2.7.3 and 3.2. + (Robert Collins, #1216163) + +0.0.14 +------ + +BUG FIXES +~~~~~~~~~ + +* Memoryview detection was broken and thus it's use was never really tested. + (Robert Collins, 1216101) + +* TestProtocol2's tag tests were set sort order dependent. + (Robert Collins, #1025392) + +* TestTestProtocols' test_tags_both was set sort order dependent. + (Robert Collins, #1025392) + +* TestTestProtocols' test_*_details were dictionary sort order dependent. + (Robert Collins, #1025392) + +* TestSubUnitTags's test_add_tag was also se sort order dependent. + (Robert Collins, #1025392) + +0.0.13 +------ + +IMPROVEMENTS +~~~~~~~~~~~~ + +* subunit should now build with automake 1.11 again. (Robert Collins) + +* `subunit-stats` no longer outputs encapsulated stdout as subunit. + (Robert Collins, #1171987) + +* The logic for `subunit.run` is now importable via python - + `subunit.run.main`. (Robert Collins, #606770) + +BUG FIXES +~~~~~~~~~ + +* Removed GPL files that were (C) non Subunit Developers - they are + incompatible for binary distribution, which affects redistributors. + (Robert Collins, #1185591) + +0.0.12 +------ + +BUG FIXES +~~~~~~~~~ + +* Subunit v2 packets with both file content and route code were not being + parsed correctly - they would incorrectly emit a parser error, due to trying + to parse the route code length from the first byes of the file content. + (Robert Collins, 1172815) + +0.0.11 +------ + +v2 protocol draft included in this release. The v2 protocol trades off human +readability for a massive improvement in robustness, the ability to represent +concurrent tests in a single stream, cheaper parsing, and that provides +significantly better in-line debugging support and structured forwarding +of non-test data (such as stdout or stdin data). + +This change includes two new filters (subunit-1to2 and subunit-2to1). Use +these filters to convert old streams to v2 and convert v2 streams to v1. + +All the other filters now only parse and emit v2 streams. V2 is still in +draft format, so if you want to delay and wait for v2 to be finalised, you +should use subunit-2to1 before any serialisation steps take place. +With the ability to encapsulate multiple non-test streams, another significant +cange is that filters which emit subunit now encapsulate any non-subunit they +encounter, labelling it 'stdout'. This permits multiplexing such streams and +detangling the stdout streams from each input. + +The subunit libraries (Python etc) have not changed their behaviour: they +still emit v1 from their existing API calls. New API's are being added +and applications should migrate once their language has those API's available. + +IMPROVEMENTS +~~~~~~~~~~~~ + +* ``subunit.run`` now replaces sys.stdout to ensure that stdout is unbuffered + - without this pdb output is not reliably visible when stdout is a pipe + as it usually is. (Robert Collins) + +* v2 protocol draft included in this release. (Python implementation only so + far). (Robert Collins) + +* Two new Python classes -- ``StreamResultToBytes`` and + ``ByteStreamToStreamResult`` handle v2 generation and parsing. + (Robert Collins) + +0.0.10 +------ + +BUG FIXES +~~~~~~~~~ + +* make_stream_binary is now public for reuse. (Robert Collins) + +* NAME was not defined in the protocol BNF. (Robert Collins) + +* UnsupportedOperation is available in the Python2.6 io library, so ask + forgiveness rather than permission for obtaining it. (Robert Collins) + +* Streams with no fileno() attribute are now supported, but they are not + checked for being in binary mode: be sure to take care of that if using + the library yourself. (Robert Collins) + +0.0.9 +----- + +BUG FIXES +~~~~~~~~~ + +* All the source files are now included in the distribution tarball. + (Arfrever Frehtes Taifersar Arahesis, Robert Collins, #996275) + +* ``python/subunit/tests/test_run.py`` and ``python/subunit/filters.py`` were + not included in the 0.0.8 tarball. (Robert Collins) + +* Test ids which include non-ascii unicode characters are now supported. + (Robert Collins, #1029866) + +* The ``failfast`` option to ``subunit.run`` will now work. The dependency on + testtools has been raised to 0.9.23 to permit this. + (Robert Collins, #1090582) + +0.0.8 +----- + +IMPROVEMENTS +~~~~~~~~~~~~ + +* Perl module now correctly outputs "failure" instead of "fail". (Stewart Smith) + +* Shell functions now output timestamps. (Stewart Smith, Robert Collins) + +* 'subunit2csv' script that converts subunit output to CSV format. + (Jonathan Lange) + +* ``TagCollapsingDecorator`` now correctly distinguishes between local and + global tags. (Jonathan Lange) + +* ``TestResultFilter`` always forwards ``time:`` events. + (Benji York, Brad Crittenden) + +BUG FIXES +~~~~~~~~~ + +* Add 'subunit --no-xfail', which will omit expected failures from the subunit + stream. (John Arbash Meinel, #623642) + +* Add 'subunit -F/--only-genuine-failures' which sets all of '--no-skips', + '--no-xfail', '--no-passthrough, '--no-success', and gives you just the + failure stream. (John Arbash Meinel) + +* Python2.6 support was broken by the fixup feature. + (Arfrever Frehtes Taifersar Arahesis, #987490) + +* Python3 support regressed in trunk. + (Arfrever Frehtes Taifersar Arahesis, #987514) + +* Python3 support was insufficiently robust in detecting unicode streams. + (Robert Collins, Arfrever Frehtes Taifersar Arahesis) + +* Tag support has been implemented for TestProtocolClient. + (Robert Collins, #518016) + +* Tags can now be filtered. (Jonathan Lange, #664171) + +* Test suite works with latest testtools (but not older ones - formatting + changes only). (Robert Collins) + +0.0.7 +----- + The Subunit Python test runner ``python -m subunit.run`` can now report the test ids and also filter via a test id list file thanks to improvements in ``testtools.run``. See the testtools manual, or testrepository - a major user of such functionality. +Additionally the protocol now has a keyword uxsuccess for Unexpected Success +reporting. Older parsers will report tests with this status code as 'lost +connection'. + IMPROVEMENTS ~~~~~~~~~~~~ +* Add ``TimeCollapsingDecorator`` which collapses multiple sequential time() + calls into just the first and last. (Jonathan Lange) + +* Add ``TagCollapsingDecorator`` which collapses many tags() calls into one + where possible. (Jonathan Lange, Robert Collins) + +* Force flush of writes to stdout in c/tests/test_child. + (Jelmer Vernooij, #687611) + +* Provisional Python 3.x support. + (Robert Collins, Tres Seaver, Martin[gz], #666819) + +* ``subunit.chunked.Decoder`` Python class takes a new ``strict`` option, + which defaults to ``True``. When ``False``, the ``Decoder`` will accept + incorrect input that is still unambiguous. i.e. subunit will not barf if + a \r is missing from the input. (Martin Pool) + +* ``subunit-filter`` preserves the relative ordering of ``time:`` statements, + so you can now use filtered streams to gather data about how long it takes + to run a test. (Jonathan Lange, #716554) + +* ``subunit-ls`` now handles a stream with time: instructions that start + partway through the stream (which may lead to strange times) more gracefully. + (Robert Collins, #785954) + +* ``subunit-ls`` should handle the new test outcomes in Python2.7 better. + (Robert Collins, #785953) + +* ``TestResultFilter`` now collapses sequential calls to time(). + (Jonathan Lange, #567150) + +* ``TestResultDecorator.tags()`` now actually works, and is no longer a buggy + copy/paste of ``TestResultDecorator.time()``. (Jonathan Lange, #681828) + +* ``TestResultFilter`` now supports a ``fixup_expected_failures`` + argument. (Jelmer Vernooij, #755241) + * The ``subunit.run`` Python module supports ``-l`` and ``--load-list`` as per ``testtools.run``. This required a dependency bump due to a small API change in ``testtools``. (Robert Collins) -* Force flush of writes to stdout in c/tests/test_child. (Jelmer Vernooij, #687611) +* The help for subunit-filter was confusing about the behaviour of ``-f`` / + ``--no-failure``. (Robert Collins, #703392) + +* The Python2.7 / testtools addUnexpectedSuccess API is now supported. This + required adding a new status code to the protocol. (Robert Collins, #654474) + +CHANGES +~~~~~~~ + +* testtools 0.9.11 or newer is new needed (due to the Python 3 support). + (Robert Collins) 0.0.6 -----