Changes
-------
* ``MatchesAll`` now takes an ``first_only`` keyword argument that changes how
mismatches are displayed. If you were previously passing matchers to
``MatchesAll`` with keyword arguments, then this change might affect your
test results. (Jonathan Lange)
Improvements
------------
* Actually hide all of the testtools stack for assertion failures. The
previous release promised clean stack, but now we actually provide it.
(Jonathan Lange, #854769)
* ``assertRaises`` now includes the ``repr`` of the callable that failed to raise
properly. (Jonathan Lange, #881052)
* Asynchronous tests no longer hang when run with trial.
(Jonathan Lange, #926189)
* ``Content`` objects now have an ``as_text`` method to convert their contents
to Unicode text. (Jonathan Lange)
* Failed equality assertions now line up. (Jonathan Lange, #879339)
* ``FullStackRunTest`` no longer aborts the test run if a test raises an
error. (Jonathan Lange)
* ``MatchesAll`` and ``MatchesListwise`` both take a ``first_only`` keyword
argument. If True, they will report only on the first mismatch they find,
and not continue looking for other possible mismatches.
(Jonathan Lange)
* New helper, ``Nullary`` that turns callables with arguments into ones that
don't take arguments. (Jonathan Lange)
* New matchers:
* ``DirContains`` matches the contents of a directory.
(Jonathan Lange, James Westby)
* ``DirExists`` matches if a directory exists.
(Jonathan Lange, James Westby)
* ``FileContains`` matches the contents of a file.
(Jonathan Lange, James Westby)
* ``FileExists`` matches if a file exists.
(Jonathan Lange, James Westby)
* ``HasPermissions`` matches the permissions of a file. (Jonathan Lange)
* ``MatchesPredicate`` matches if a predicate is true. (Jonathan Lange)
* ``PathExists`` matches if a path exists. (Jonathan Lange, James Westby)
* ``SamePath`` matches if two paths are the same. (Jonathan Lange)
* ``TarballContains`` matches the contents of a tarball. (Jonathan Lange)
* ``MultiTestResult`` supports the ``tags`` method.
(Graham Binns, Francesco Banconi, #914279)
* ``ThreadsafeForwardingResult`` supports the ``tags`` method.
(Graham Binns, Francesco Banconi, #914279)
* ``ThreadsafeForwardingResult`` no longer includes semaphore acquisition time
in the test duration (for implicitly timed test runs).
(Robert Collins, #914362)