Testtools

Latest version: v2.7.1

Safety actively analyzes 629765 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 11

0.9.32

~~~~~~

Regular maintenance release. Special thanks to new contributor, Xiao Hanyu!

Changes
-------

* ``testttols.compat._format_exc_info`` has been refactored into several
smaller functions. (Thomi Richards)

Improvements
------------

* Stacktrace filtering no longer hides unittest frames that are surrounded by
user frames. We will reenable this when we figure out a better algorithm for
retaining meaning. (Robert Collins, 1188420)

* The compatibility code for skipped tests with unittest2 was broken.
(Robert Collins, 1190951)

* Various documentation improvements (Clint Byrum, Xiao Hanyu).

0.9.31

~~~~~~

Improvements
------------

* ``ExpectedException`` now accepts a msg parameter for describing an error,
much the same as assertEquals etc. (Robert Collins)

0.9.30

~~~~~~

A new sort of TestResult, the StreamResult has been added, as a prototype for
a revised standard library test result API. Expect this API to change.
Although we will try to preserve compatibility for early adopters, it is
experimental and we might need to break it if it turns out to be unsuitable.

Improvements
------------
* ``assertRaises`` works properly for exception classes that have custom
metaclasses

* ``ConcurrentTestSuite`` was silently eating exceptions that propagate from
the test.run(result) method call. Ignoring them is fine in a normal test
runner, but when they happen in a different thread, the thread that called
suite.run() is not in the stack anymore, and the exceptions are lost. We now
create a synthetic test recording any such exception.
(Robert Collins, 1130429)

* Fixed SyntaxError raised in ``_compat2x.py`` when installing via Python 3.
(Will Bond, 941958)

* New class ``StreamResult`` which defines the API for the new result type.
(Robert Collins)

* New support class ``ConcurrentStreamTestSuite`` for convenient construction
and utilisation of ``StreamToQueue`` objects. (Robert Collins)

* New support class ``CopyStreamResult`` which forwards events onto multiple
``StreamResult`` objects (each of which receives all the events).
(Robert Collins)

* New support class ``StreamSummary`` which summarises a ``StreamResult``
stream compatibly with ``TestResult`` code. (Robert Collins)

* New support class ``StreamTagger`` which adds or removes tags from
``StreamResult`` events. (RobertCollins)

* New support class ``StreamToDict`` which converts a ``StreamResult`` to a
series of dicts describing a test. Useful for writing trivial stream
analysers. (Robert Collins)

* New support class ``TestControl`` which permits cancelling an in-progress
run. (Robert Collins)

* New support class ``StreamFailFast`` which calls a ``TestControl`` instance
to abort the test run when a failure is detected. (Robert Collins)

* New support class ``ExtendedToStreamDecorator`` which translates both regular
unittest TestResult API calls and the ExtendedTestResult API which testtools
has supported into the StreamResult API. ExtendedToStreamDecorator also
forwards calls made in the StreamResult API, permitting it to be used
anywhere a StreamResult is used. Key TestResult query methods like
wasSuccessful and shouldStop are synchronised with the StreamResult API
calls, but the detailed statistics like the list of errors are not - a
separate consumer will be created to support that.
(Robert Collins)

* New support class ``StreamToExtendedDecorator`` which translates
``StreamResult`` API calls into ``ExtendedTestResult`` (or any older
``TestResult``) calls. This permits using un-migrated result objects with
new runners / tests. (Robert Collins)

* New support class ``StreamToQueue`` for sending messages to one
``StreamResult`` from multiple threads. (Robert Collins)

* New support class ``TimestampingStreamResult`` which adds a timestamp to
events with no timestamp. (Robert Collins)

* New ``TestCase`` decorator ``DecorateTestCaseResult`` that adapts the
``TestResult`` or ``StreamResult`` a case will be run with, for ensuring that
a particular result object is used even if the runner running the test doesn't
know to use it. (Robert Collins)

* New test support class ``testtools.testresult.doubles.StreamResult``, which
captures all the StreamResult events. (Robert Collins)

* ``PlaceHolder`` can now hold tags, and applies them before, and removes them
after, the test. (Robert Collins)

* ``PlaceHolder`` can now hold timestamps, and applies them before the test and
then before the outcome. (Robert Collins)

* ``StreamResultRouter`` added. This is useful for demultiplexing - e.g. for
partitioning analysis of events or sending feedback encapsulated in
StreamResult events back to their source. (Robert Collins)

* ``testtools.run.TestProgram`` now supports the ``TestRunner`` taking over
responsibility for formatting the output of ``--list-tests``.
(Robert Collins)

* The error message for setUp and tearDown upcall errors was broken on Python
3.4. (Monty Taylor, Robert Collins, 1140688)

* The repr of object() on pypy includes the object id, which was breaking a
test that accidentally depended on the CPython repr for object().
(Jonathan Lange)

0.9.29

~~~~~~

A simple bug fix, and better error messages when you don't up-call.

Changes
-------

* ``testtools.content_type.ContentType`` incorrectly used ',' rather than ';'
to separate parameters. (Robert Collins)

Improvements
------------

* ``testtools.compat.unicode_output_stream`` was wrapping a stream encoder
around ``io.StringIO`` and ``io.TextIOWrapper`` objects, which was incorrect.
(Robert Collins)

* Report the name of the source file for setUp and tearDown upcall errors.
(Monty Taylor)

0.9.28

~~~~~~

Testtools has moved VCS - https://github.com/testing-cabal/testtools/ is
the new home. Bug tracking is still on Launchpad, and releases are on Pypi.

We made this change to take advantage of the richer ecosystem of tools around
Git, and to lower the barrier for new contributors.

Improvements
------------

* New ``testtools.testcase.attr`` and ``testtools.testcase.WithAttributes``
helpers allow marking up test case methods with simple labels. This permits
filtering tests with more granularity than organising them into modules and
test classes. (Robert Collins)

0.9.27

~~~~~~

Improvements
------------

* New matcher ``HasLength`` for matching the length of a collection.
(Robert Collins)

* New matcher ``MatchesPredicateWithParams`` make it still easier to create
ad hoc matchers. (Robert Collins)

* We have a simpler release process in future - see doc/hacking.rst.
(Robert Collins)

Page 6 of 11

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.