2014-07-20 17:07:18 +08:00
|
|
|
pytest-2.6.0: shorter tracebacks, new warning system, test runner compat
|
2014-07-17 22:38:54 +08:00
|
|
|
===========================================================================
|
|
|
|
|
|
|
|
pytest is a mature Python testing tool with more than a 1000 tests
|
|
|
|
against itself, passing on many different interpreters and platforms.
|
|
|
|
|
|
|
|
The 2.6.0 release should be drop-in backward compatible to 2.5.2 and
|
|
|
|
fixes a number of bugs and brings some new features, mainly:
|
|
|
|
|
|
|
|
- shorter tracebacks by default: only the first (test function) entry
|
|
|
|
and the last (failure location) entry are shown, the ones between
|
|
|
|
only in "short" format. Use ``--tb=long`` to get back the old
|
|
|
|
behaviour of showing "long" entries everywhere.
|
|
|
|
|
|
|
|
- a new warning system which reports oddities during collection
|
|
|
|
and execution. For example, ignoring collecting Test* classes with an
|
|
|
|
``__init__`` now produces a warning.
|
|
|
|
|
|
|
|
- various improvements to nose/mock/unittest integration
|
|
|
|
|
|
|
|
Note also that 2.6.0 departs with the "zero reported bugs" policy
|
|
|
|
because it has been too hard to keep up with it, unfortunately.
|
|
|
|
Instead we are for now rather bound to work on "upvoted" issues in
|
|
|
|
the https://bitbucket.org/hpk42/pytest/issues?status=new&status=open&sort=-votes
|
|
|
|
issue tracker.
|
|
|
|
|
|
|
|
See docs at:
|
|
|
|
|
|
|
|
http://pytest.org
|
|
|
|
|
|
|
|
As usual, you can upgrade from pypi via::
|
|
|
|
|
|
|
|
pip install -U pytest
|
|
|
|
|
|
|
|
Thanks to all who contributed, among them:
|
|
|
|
|
|
|
|
Benjamin Peterson
|
|
|
|
Jurko Gospodnetić
|
|
|
|
Floris Bruynooghe
|
|
|
|
Marc Abramowitz
|
|
|
|
Marc Schlaich
|
|
|
|
Trevor Bekolay
|
|
|
|
Bruno Oliveira
|
|
|
|
Alex Groenholm
|
|
|
|
|
|
|
|
have fun,
|
|
|
|
holger krekel
|
|
|
|
|
|
|
|
2.6.0
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
- fix issue537: Avoid importing old assertion reinterpretation code by default.
|
|
|
|
Thanks Benjamin Peterson.
|
|
|
|
|
|
|
|
- fix issue364: shorten and enhance tracebacks representation by default.
|
|
|
|
The new "--tb=auto" option (default) will only display long tracebacks
|
|
|
|
for the first and last entry. You can get the old behaviour of printing
|
|
|
|
all entries as long entries with "--tb=long". Also short entries by
|
|
|
|
default are now printed very similarly to "--tb=native" ones.
|
|
|
|
|
|
|
|
- fix issue514: teach assertion reinterpretation about private class attributes
|
|
|
|
Thanks Benjamin Peterson.
|
|
|
|
|
|
|
|
- change -v output to include full node IDs of tests. Users can copy
|
|
|
|
a node ID from a test run, including line number, and use it as a
|
|
|
|
positional argument in order to run only a single test.
|
|
|
|
|
|
|
|
- fix issue 475: fail early and comprehensible if calling
|
|
|
|
pytest.raises with wrong exception type.
|
|
|
|
|
|
|
|
- fix issue516: tell in getting-started about current dependencies.
|
|
|
|
|
|
|
|
- cleanup setup.py a bit and specify supported versions. Thanks Jurko
|
|
|
|
Gospodnetic for the PR.
|
|
|
|
|
|
|
|
- change XPASS colour to yellow rather then red when tests are run
|
|
|
|
with -v.
|
|
|
|
|
|
|
|
- fix issue473: work around mock putting an unbound method into a class
|
|
|
|
dict when double-patching.
|
|
|
|
|
|
|
|
- fix issue498: if a fixture finalizer fails, make sure that
|
|
|
|
the fixture is still invalidated.
|
|
|
|
|
|
|
|
- fix issue453: the result of the pytest_assertrepr_compare hook now gets
|
|
|
|
it's newlines escaped so that format_exception does not blow up.
|
|
|
|
|
|
|
|
- internal new warning system: pytest will now produce warnings when
|
|
|
|
it detects oddities in your test collection or execution.
|
|
|
|
Warnings are ultimately sent to a new pytest_logwarning hook which is
|
|
|
|
currently only implemented by the terminal plugin which displays
|
|
|
|
warnings in the summary line and shows more details when -rw (report on
|
|
|
|
warnings) is specified.
|
|
|
|
|
|
|
|
- change skips into warnings for test classes with an __init__ and
|
|
|
|
callables in test modules which look like a test but are not functions.
|
|
|
|
|
|
|
|
- fix issue436: improved finding of initial conftest files from command
|
|
|
|
line arguments by using the result of parse_known_args rather than
|
|
|
|
the previous flaky heuristics. Thanks Marc Abramowitz for tests
|
|
|
|
and initial fixing approaches in this area.
|
|
|
|
|
|
|
|
- fix issue #479: properly handle nose/unittest(2) SkipTest exceptions
|
|
|
|
during collection/loading of test modules. Thanks to Marc Schlaich
|
|
|
|
for the complete PR.
|
|
|
|
|
|
|
|
- fix issue490: include pytest_load_initial_conftests in documentation
|
|
|
|
and improve docstring.
|
|
|
|
|
|
|
|
- fix issue472: clarify that ``pytest.config.getvalue()`` cannot work
|
|
|
|
if it's triggered ahead of command line parsing.
|
|
|
|
|
|
|
|
- merge PR123: improved integration with mock.patch decorator on tests.
|
|
|
|
|
|
|
|
- fix issue412: messing with stdout/stderr FD-level streams is now
|
|
|
|
captured without crashes.
|
|
|
|
|
|
|
|
- fix issue483: trial/py33 works now properly. Thanks Daniel Grana for PR.
|
|
|
|
|
|
|
|
- improve example for pytest integration with "python setup.py test"
|
|
|
|
which now has a generic "-a" or "--pytest-args" option where you
|
|
|
|
can pass additional options as a quoted string. Thanks Trevor Bekolay.
|
|
|
|
|
|
|
|
- simplified internal capturing mechanism and made it more robust
|
|
|
|
against tests or setups changing FD1/FD2, also better integrated
|
|
|
|
now with pytest.pdb() in single tests.
|
|
|
|
|
|
|
|
- improvements to pytest's own test-suite leakage detection, courtesy of PRs
|
|
|
|
from Marc Abramowitz
|
|
|
|
|
|
|
|
- fix issue492: avoid leak in test_writeorg. Thanks Marc Abramowitz.
|
|
|
|
|
|
|
|
- fix issue493: don't run tests in doc directory with ``python setup.py test``
|
|
|
|
(use tox -e doctesting for that)
|
|
|
|
|
|
|
|
- fix issue486: better reporting and handling of early conftest loading failures
|
|
|
|
|
|
|
|
- some cleanup and simplification of internal conftest handling.
|
|
|
|
|
|
|
|
- work a bit harder to break reference cycles when catching exceptions.
|
|
|
|
Thanks Jurko Gospodnetic.
|
|
|
|
|
|
|
|
- fix issue443: fix skip examples to use proper comparison. Thanks Alex
|
|
|
|
Groenholm.
|
|
|
|
|
|
|
|
- support nose-style ``__test__`` attribute on modules, classes and
|
|
|
|
functions, including unittest-style Classes. If set to False, the
|
|
|
|
test will not be collected.
|
|
|
|
|
|
|
|
- fix issue512: show "<notset>" for arguments which might not be set
|
|
|
|
in monkeypatch plugin. Improves output in documentation.
|
|
|
|
|
|
|
|
- avoid importing "py.test" (an old alias module for "pytest")
|