Merge remote-tracking branch 'upstream/master' into features

This commit is contained in:
Bruno Oliveira 2016-03-02 23:41:56 -03:00
commit c2b9196a7c
1 changed files with 112 additions and 111 deletions

View File

@ -20,6 +20,13 @@
* *
.. _@milliams: https://github.com/milliams
.. _#1428: https://github.com/pytest-dev/pytest/pull/1428
2.9.1.dev1
==========
**Bug Fixes** **Bug Fixes**
@ -29,12 +36,6 @@
* *
.. _@milliams: https://github.com/milliams
.. _#1428: https://github.com/pytest-dev/pytest/pull/1428
2.9.0 2.9.0
===== =====
@ -49,25 +50,25 @@
* New ``-rp`` and ``-rP`` reporting options give the summary and full output * New ``-rp`` and ``-rP`` reporting options give the summary and full output
of passing tests, respectively. Thanks to `@codewarrior0`_ for the PR. of passing tests, respectively. Thanks to `@codewarrior0`_ for the PR.
* ``pytest.mark.xfail`` now has a ``strict`` option which makes ``XPASS`` * ``pytest.mark.xfail`` now has a ``strict`` option, which makes ``XPASS``
tests to fail the test suite, defaulting to ``False``. There's also a tests to fail the test suite (defaulting to ``False``). There's also a
``xfail_strict`` ini option that can be used to configure it project-wise. ``xfail_strict`` ini option that can be used to configure it project-wise.
Thanks `@rabbbit`_ for the request and `@nicoddemus`_ for the PR (`#1355`_). Thanks `@rabbbit`_ for the request and `@nicoddemus`_ for the PR (`#1355`_).
* ``Parser.addini`` now supports options of type ``bool``. Thanks * ``Parser.addini`` now supports options of type ``bool``.
`@nicoddemus`_ for the PR. Thanks `@nicoddemus`_ for the PR.
* New ``ALLOW_BYTES`` doctest option strips ``b`` prefixes from byte strings * New ``ALLOW_BYTES`` doctest option. This strips ``b`` prefixes from byte strings
in doctest output (similar to ``ALLOW_UNICODE``). in doctest output (similar to ``ALLOW_UNICODE``).
Thanks `@jaraco`_ for the request and `@nicoddemus`_ for the PR (`#1287`_). Thanks `@jaraco`_ for the request and `@nicoddemus`_ for the PR (`#1287`_).
* give a hint on KeyboardInterrupt to use the --fulltrace option to show the errors, * Give a hint on ``KeyboardInterrupt`` to use the ``--fulltrace`` option to show the errors.
this fixes `#1366`_. Fixes `#1366`_.
Thanks to `@hpk42`_ for the report and `@RonnyPfannschmidt`_ for the PR. Thanks to `@hpk42`_ for the report and `@RonnyPfannschmidt`_ for the PR.
* catch IndexError exceptions when getting exception source location. This fixes * Catch ``IndexError`` exceptions when getting exception source location.
pytest internal error for dynamically generated code (fixtures and tests) Fixes a pytest internal error for dynamically generated code (fixtures and tests)
where source lines are fake by intention where source lines are fake by intention.
**Changes** **Changes**
@ -94,14 +95,14 @@
Thanks `@nicoddemus`_ for the PR (`#1226`_). Thanks `@nicoddemus`_ for the PR (`#1226`_).
* Comparisons now always show up in full when ``CI`` or ``BUILD_NUMBER`` is * Comparisons now always show up in full when ``CI`` or ``BUILD_NUMBER`` is
found in the environment, even when -vv isn't used. found in the environment, even when ``-vv`` isn't used.
Thanks `@The-Compiler`_ for the PR. Thanks `@The-Compiler`_ for the PR.
* ``--lf`` and ``--ff`` now support long names: ``--last-failed`` and * ``--lf`` and ``--ff`` now support long names: ``--last-failed`` and
``--failed-first`` respectively. ``--failed-first`` respectively.
Thanks `@MichaelAquilina`_ for the PR. Thanks `@MichaelAquilina`_ for the PR.
* Added expected exceptions to pytest.raises fail message * Added expected exceptions to ``pytest.raises`` fail message.
* Collection only displays progress ("collecting X items") when in a terminal. * Collection only displays progress ("collecting X items") when in a terminal.
This avoids cluttering the output when using ``--color=yes`` to obtain This avoids cluttering the output when using ``--color=yes`` to obtain
@ -154,12 +155,12 @@
.. _@hackebrot: https://github.com/hackebrot .. _@hackebrot: https://github.com/hackebrot
2.8.7 2.8.7
----- =====
- fix #1338: use predictable object resolution for monkeypatch - fix #1338: use predictable object resolution for monkeypatch
2.8.6 2.8.6
----- =====
- fix #1259: allow for double nodeids in junitxml, - fix #1259: allow for double nodeids in junitxml,
this was a regression failing plugins combinations this was a regression failing plugins combinations
@ -324,7 +325,7 @@
- fix issue 1029: transform errors when writing cache values into pytest-warnings - fix issue 1029: transform errors when writing cache values into pytest-warnings
2.8.0 2.8.0
============================= =====
- new ``--lf`` and ``-ff`` options to run only the last failing tests or - new ``--lf`` and ``-ff`` options to run only the last failing tests or
"failing tests first" from the last run. This functionality is provided "failing tests first" from the last run. This functionality is provided
@ -689,7 +690,7 @@
via postmortem debugging (almarklein). via postmortem debugging (almarklein).
2.6.4 2.6.4
========== =====
- Improve assertion failure reporting on iterables, by using ndiff and - Improve assertion failure reporting on iterables, by using ndiff and
pprint. pprint.
@ -718,7 +719,7 @@
- fix issue614: fixed pastebin support. - fix issue614: fixed pastebin support.
2.6.3 2.6.3
=========== =====
- fix issue575: xunit-xml was reporting collection errors as failures - fix issue575: xunit-xml was reporting collection errors as failures
instead of errors, thanks Oleg Sinyavskiy. instead of errors, thanks Oleg Sinyavskiy.
@ -745,7 +746,7 @@
Floris Bruynooghe. Floris Bruynooghe.
2.6.2 2.6.2
=========== =====
- Added function pytest.freeze_includes(), which makes it easy to embed - Added function pytest.freeze_includes(), which makes it easy to embed
pytest into executables using tools like cx_freeze. pytest into executables using tools like cx_freeze.
@ -774,7 +775,7 @@
to them. to them.
2.6.1 2.6.1
=================================== =====
- No longer show line numbers in the --verbose output, the output is now - No longer show line numbers in the --verbose output, the output is now
purely the nodeid. The line number is still shown in failure reports. purely the nodeid. The line number is still shown in failure reports.
@ -806,7 +807,7 @@
Thanks Bruno Oliveira. Thanks Bruno Oliveira.
2.6 2.6
=================================== ===
- Cache exceptions from fixtures according to their scope (issue 467). - Cache exceptions from fixtures according to their scope (issue 467).
@ -911,7 +912,7 @@
2.5.2 2.5.2
=================================== =====
- fix issue409 -- better interoperate with cx_freeze by not - fix issue409 -- better interoperate with cx_freeze by not
trying to import from collections.abc which causes problems trying to import from collections.abc which causes problems
@ -939,7 +940,7 @@
2.5.1 2.5.1
=================================== =====
- merge new documentation styling PR from Tobias Bieniek. - merge new documentation styling PR from Tobias Bieniek.
@ -960,7 +961,7 @@
2.5.0 2.5.0
=================================== =====
- dropped python2.5 from automated release testing of pytest itself - dropped python2.5 from automated release testing of pytest itself
which means it's probably going to break soon (but still works which means it's probably going to break soon (but still works
@ -1095,8 +1096,8 @@
- fix verbose reporting for @mock'd test functions - fix verbose reporting for @mock'd test functions
v2.4.2 2.4.2
=================================== =====
- on Windows require colorama and a newer py lib so that py.io.TerminalWriter() - on Windows require colorama and a newer py lib so that py.io.TerminalWriter()
now uses colorama instead of its own ctypes hacks. (fixes issue365) now uses colorama instead of its own ctypes hacks. (fixes issue365)
@ -1126,8 +1127,8 @@ v2.4.2
- add pluginmanager.do_configure(config) as a link to - add pluginmanager.do_configure(config) as a link to
config.do_configure() for plugin-compatibility config.do_configure() for plugin-compatibility
v2.4.1 2.4.1
=================================== =====
- When using parser.addoption() unicode arguments to the - When using parser.addoption() unicode arguments to the
"type" keyword should also be converted to the respective types. "type" keyword should also be converted to the respective types.
@ -1142,8 +1143,8 @@ v2.4.1
- merge doc typo fixes, thanks Andy Dirnberger - merge doc typo fixes, thanks Andy Dirnberger
v2.4 2.4
=================================== ===
known incompatibilities: known incompatibilities:
@ -1311,8 +1312,8 @@ Bug fixes:
".section(title)" and ".line(msg)" methods to print extra ".section(title)" and ".line(msg)" methods to print extra
information at the end of a test run. information at the end of a test run.
v2.3.5 2.3.5
=================================== =====
- fix issue169: respect --tb=style with setup/teardown errors as well. - fix issue169: respect --tb=style with setup/teardown errors as well.
@ -1376,8 +1377,8 @@ v2.3.5
- fix issue266 - accept unicode in MarkEvaluator expressions - fix issue266 - accept unicode in MarkEvaluator expressions
v2.3.4 2.3.4
=================================== =====
- yielded test functions will now have autouse-fixtures active but - yielded test functions will now have autouse-fixtures active but
cannot accept fixtures as funcargs - it's anyway recommended to cannot accept fixtures as funcargs - it's anyway recommended to
@ -1396,8 +1397,8 @@ v2.3.4
need to write as -k "TestClass and test_method" to match a certain need to write as -k "TestClass and test_method" to match a certain
method in a certain test class. method in a certain test class.
v2.3.3 2.3.3
=================================== =====
- fix issue214 - parse modules that contain special objects like e. g. - fix issue214 - parse modules that contain special objects like e. g.
flask's request object which blows up on getattr access if no request flask's request object which blows up on getattr access if no request
@ -1428,8 +1429,8 @@ v2.3.3
- fix issue127 - improve documentation for pytest_addoption() and - fix issue127 - improve documentation for pytest_addoption() and
add a ``config.getoption(name)`` helper function for consistency. add a ``config.getoption(name)`` helper function for consistency.
v2.3.2 2.3.2
=================================== =====
- fix issue208 and fix issue29 use new py version to avoid long pauses - fix issue208 and fix issue29 use new py version to avoid long pauses
when printing tracebacks in long modules when printing tracebacks in long modules
@ -1461,8 +1462,8 @@ v2.3.2
- add tox.ini to pytest distribution so that ignore-dirs and others config - add tox.ini to pytest distribution so that ignore-dirs and others config
bits are properly distributed for maintainers who run pytest-own tests bits are properly distributed for maintainers who run pytest-own tests
v2.3.1 2.3.1
=================================== =====
- fix issue202 - fix regression: using "self" from fixture functions now - fix issue202 - fix regression: using "self" from fixture functions now
works as expected (it's the same "self" instance that a test method works as expected (it's the same "self" instance that a test method
@ -1474,8 +1475,8 @@ v2.3.1
- link to web pages from --markers output which provides help for - link to web pages from --markers output which provides help for
pytest.mark.* usage. pytest.mark.* usage.
v2.3.0 2.3.0
=================================== =====
- fix issue202 - better automatic names for parametrized test functions - fix issue202 - better automatic names for parametrized test functions
- fix issue139 - introduce @pytest.fixture which allows direct scoping - fix issue139 - introduce @pytest.fixture which allows direct scoping
@ -1553,8 +1554,8 @@ v2.3.0
- py.test -vv will show all of assert comparisations instead of truncating - py.test -vv will show all of assert comparisations instead of truncating
v2.2.4 2.2.4
=================================== =====
- fix error message for rewritten assertions involving the % operator - fix error message for rewritten assertions involving the % operator
- fix issue 126: correctly match all invalid xml characters for junitxml - fix issue 126: correctly match all invalid xml characters for junitxml
@ -1570,13 +1571,13 @@ v2.2.4
- fix issue #144: better mangle test ids to junitxml classnames - fix issue #144: better mangle test ids to junitxml classnames
- upgrade distribute_setup.py to 0.6.27 - upgrade distribute_setup.py to 0.6.27
v2.2.3 2.2.3
======================================== =====
- fix uploaded package to only include neccesary files - fix uploaded package to only include neccesary files
v2.2.2 2.2.2
======================================== =====
- fix issue101: wrong args to unittest.TestCase test function now - fix issue101: wrong args to unittest.TestCase test function now
produce better output produce better output
@ -1595,8 +1596,8 @@ v2.2.2
- allow adding of attributes to test reports such that it also works - allow adding of attributes to test reports such that it also works
with distributed testing (no upgrade of pytest-xdist needed) with distributed testing (no upgrade of pytest-xdist needed)
v2.2.1 2.2.1
======================================== =====
- fix issue99 (in pytest and py) internallerrors with resultlog now - fix issue99 (in pytest and py) internallerrors with resultlog now
produce better output - fixed by normalizing pytest_internalerror produce better output - fixed by normalizing pytest_internalerror
@ -1612,8 +1613,8 @@ v2.2.1
- fix collection crash due to unknown-source collected items, thanks - fix collection crash due to unknown-source collected items, thanks
to Ralf Schmitt (fixed by depending on a more recent pylib) to Ralf Schmitt (fixed by depending on a more recent pylib)
v2.2.0 2.2.0
======================================== =====
- fix issue90: introduce eager tearing down of test items so that - fix issue90: introduce eager tearing down of test items so that
teardown function are called earlier. teardown function are called earlier.
@ -1647,8 +1648,8 @@ v2.2.0
- simplify junitxml output code by relying on py.xml - simplify junitxml output code by relying on py.xml
- add support for skip properties on unittest classes and functions - add support for skip properties on unittest classes and functions
v2.1.3 2.1.3
======================================== =====
- fix issue79: assertion rewriting failed on some comparisons in boolops - fix issue79: assertion rewriting failed on some comparisons in boolops
- correctly handle zero length arguments (a la pytest '') - correctly handle zero length arguments (a la pytest '')
@ -1656,8 +1657,8 @@ v2.1.3
- fix issue75 / skipping test failure on jython - fix issue75 / skipping test failure on jython
- fix issue77 / Allow assertrepr_compare hook to apply to a subset of tests - fix issue77 / Allow assertrepr_compare hook to apply to a subset of tests
v2.1.2 2.1.2
======================================== =====
- fix assertion rewriting on files with windows newlines on some Python versions - fix assertion rewriting on files with windows newlines on some Python versions
- refine test discovery by package/module name (--pyargs), thanks Florian Mayer - refine test discovery by package/module name (--pyargs), thanks Florian Mayer
@ -1666,8 +1667,8 @@ v2.1.2
- fix issue66: use different assertion rewriting caches when the -O option is passed - fix issue66: use different assertion rewriting caches when the -O option is passed
- don't try assertion rewriting on Jython, use reinterp - don't try assertion rewriting on Jython, use reinterp
v2.1.1 2.1.1
============================================== =====
- fix issue64 / pytest.set_trace now works within pytest_generate_tests hooks - fix issue64 / pytest.set_trace now works within pytest_generate_tests hooks
- fix issue60 / fix error conditions involving the creation of __pycache__ - fix issue60 / fix error conditions involving the creation of __pycache__
@ -1679,8 +1680,8 @@ v2.1.1
- fix issue61: assertion rewriting on boolean operations with 3 or more operands - fix issue61: assertion rewriting on boolean operations with 3 or more operands
- you can now build a man page with "cd doc ; make man" - you can now build a man page with "cd doc ; make man"
v2.1.0 2.1.0
============================================== =====
- fix issue53 call nosestyle setup functions with correct ordering - fix issue53 call nosestyle setup functions with correct ordering
- fix issue58 and issue59: new assertion code fixes - fix issue58 and issue59: new assertion code fixes
@ -1699,8 +1700,8 @@ v2.1.0
- report KeyboardInterrupt even if interrupted during session startup - report KeyboardInterrupt even if interrupted during session startup
- fix issue 35 - provide PDF doc version and download link from index page - fix issue 35 - provide PDF doc version and download link from index page
v2.0.3 2.0.3
============================================== =====
- fix issue38: nicer tracebacks on calls to hooks, particularly early - fix issue38: nicer tracebacks on calls to hooks, particularly early
configure/sessionstart ones configure/sessionstart ones
@ -1719,8 +1720,8 @@ v2.0.3
- fix issue37: avoid invalid characters in junitxml's output - fix issue37: avoid invalid characters in junitxml's output
v2.0.2 2.0.2
============================================== =====
- tackle issue32 - speed up test runs of very quick test functions - tackle issue32 - speed up test runs of very quick test functions
by reducing the relative overhead by reducing the relative overhead
@ -1771,8 +1772,8 @@ v2.0.2
- avoid std unittest assertion helper code in tracebacks (thanks Ronny) - avoid std unittest assertion helper code in tracebacks (thanks Ronny)
v2.0.1 2.0.1
============================================== =====
- refine and unify initial capturing so that it works nicely - refine and unify initial capturing so that it works nicely
even if the logging module is used on an early-loaded conftest.py even if the logging module is used on an early-loaded conftest.py
@ -1820,8 +1821,8 @@ v2.0.1
parametraization remains the "pytest_generate_tests" parametraization remains the "pytest_generate_tests"
mechanism, see the docs. mechanism, see the docs.
v2.0.0 2.0.0
============================================== =====
- pytest-2.0 is now its own package and depends on pylib-2.0 - pytest-2.0 is now its own package and depends on pylib-2.0
- new ability: python -m pytest / python -m pytest.main ability - new ability: python -m pytest / python -m pytest.main ability
@ -1865,8 +1866,8 @@ v2.0.0
- add ability to use "class" level for cached_setup helper - add ability to use "class" level for cached_setup helper
- fix strangeness: mark.* objects are now immutable, create new instances - fix strangeness: mark.* objects are now immutable, create new instances
v1.3.4 1.3.4
============================================== =====
- fix issue111: improve install documentation for windows - fix issue111: improve install documentation for windows
- fix issue119: fix custom collectability of __init__.py as a module - fix issue119: fix custom collectability of __init__.py as a module
@ -1874,8 +1875,8 @@ v1.3.4
- fix issue115: unify internal exception passthrough/catching/GeneratorExit - fix issue115: unify internal exception passthrough/catching/GeneratorExit
- fix issue118: new --tb=native for presenting cpython-standard exceptions - fix issue118: new --tb=native for presenting cpython-standard exceptions
v1.3.3 1.3.3
============================================== =====
- fix issue113: assertion representation problem with triple-quoted strings - fix issue113: assertion representation problem with triple-quoted strings
(and possibly other cases) (and possibly other cases)
@ -1889,8 +1890,8 @@ v1.3.3
(thanks Armin Ronacher for reporting) (thanks Armin Ronacher for reporting)
- remove trailing whitespace in all py/text distribution files - remove trailing whitespace in all py/text distribution files
v1.3.2 1.3.2
============================================== =====
**New features** **New features**
@ -1962,8 +1963,8 @@ v1.3.2
- fix homedir detection on Windows - fix homedir detection on Windows
- ship distribute_setup.py version 0.6.13 - ship distribute_setup.py version 0.6.13
v1.3.1 1.3.1
============================================= =====
**New features** **New features**
@ -2032,8 +2033,8 @@ v1.3.1
(and internally be more careful when presenting unexpected byte sequences) (and internally be more careful when presenting unexpected byte sequences)
v1.3.0 1.3.0
============================================= =====
- deprecate --report option in favour of a new shorter and easier to - deprecate --report option in favour of a new shorter and easier to
remember -r option: it takes a string argument consisting of any remember -r option: it takes a string argument consisting of any
@ -2097,8 +2098,8 @@ v1.3.0
- added links to the new capturelog and coverage plugins - added links to the new capturelog and coverage plugins
v1.2.0 1.2.0
============================================= =====
- refined usage and options for "py.cleanup":: - refined usage and options for "py.cleanup"::
@ -2136,8 +2137,8 @@ v1.2.0
- fix plugin links - fix plugin links
v1.1.1 1.1.1
============================================= =====
- moved dist/looponfailing from py.test core into a new - moved dist/looponfailing from py.test core into a new
separately released pytest-xdist plugin. separately released pytest-xdist plugin.
@ -2220,8 +2221,8 @@ v1.1.1
- fix docs, fix internal bin/ script generation - fix docs, fix internal bin/ script generation
v1.1.0 1.1.0
============================================= =====
- introduce automatic plugin registration via 'pytest11' - introduce automatic plugin registration via 'pytest11'
entrypoints via setuptools' pkg_resources.iter_entry_points entrypoints via setuptools' pkg_resources.iter_entry_points
@ -2239,8 +2240,8 @@ v1.1.0
- try harder to have deprecation warnings for py.compat.* accesses - try harder to have deprecation warnings for py.compat.* accesses
report a correct location report a correct location
v1.0.3 1.0.3
============================================= =====
* adjust and improve docs * adjust and improve docs
@ -2324,16 +2325,16 @@ v1.0.3
* simplified internal localpath implementation * simplified internal localpath implementation
v1.0.2 1.0.2
=========================================== =====
* fixing packaging issues, triggered by fedora redhat packaging, * fixing packaging issues, triggered by fedora redhat packaging,
also added doc, examples and contrib dirs to the tarball. also added doc, examples and contrib dirs to the tarball.
* added a documentation link to the new django plugin. * added a documentation link to the new django plugin.
v1.0.1 1.0.1
=========================================== =====
* added a 'pytest_nose' plugin which handles nose.SkipTest, * added a 'pytest_nose' plugin which handles nose.SkipTest,
nose-style function/method/generator setup/teardown and nose-style function/method/generator setup/teardown and
@ -2366,14 +2367,14 @@ v1.0.1
* simplified multicall mechanism and plugin architecture, * simplified multicall mechanism and plugin architecture,
renamed some internal methods and argnames renamed some internal methods and argnames
v1.0.0 1.0.0
=========================================== =====
* more terse reporting try to show filesystem path relatively to current dir * more terse reporting try to show filesystem path relatively to current dir
* improve xfail output a bit * improve xfail output a bit
v1.0.0b9 1.0.0b9
=========================================== =======
* cleanly handle and report final teardown of test setup * cleanly handle and report final teardown of test setup
@ -2406,8 +2407,8 @@ v1.0.0b9
* item.repr_failure(excinfo) instead of item.repr_failure(excinfo, outerr) * item.repr_failure(excinfo) instead of item.repr_failure(excinfo, outerr)
v1.0.0b8 1.0.0b8
=========================================== =======
* pytest_unittest-plugin is now enabled by default * pytest_unittest-plugin is now enabled by default
@ -2435,8 +2436,8 @@ v1.0.0b8
* tweaked doctest output for docstrings in py modules, * tweaked doctest output for docstrings in py modules,
thanks Radomir. thanks Radomir.
v1.0.0b7 1.0.0b7
=========================================== =======
* renamed py.test.xfail back to py.test.mark.xfail to avoid * renamed py.test.xfail back to py.test.mark.xfail to avoid
two ways to decorate for xfail two ways to decorate for xfail
@ -2460,8 +2461,8 @@ v1.0.0b7
* make __name__ == "__channelexec__" for remote_exec code * make __name__ == "__channelexec__" for remote_exec code
v1.0.0b3 1.0.0b3
=========================================== =======
* plugin classes are removed: one now defines * plugin classes are removed: one now defines
hooks directly in conftest.py or global pytest_*.py hooks directly in conftest.py or global pytest_*.py
@ -2477,8 +2478,8 @@ v1.0.0b3
well with function arguments. well with function arguments.
v1.0.0b1 1.0.0b1
=========================================== =======
* introduced new "funcarg" setup method, * introduced new "funcarg" setup method,
see doc/test/funcarg.txt see doc/test/funcarg.txt
@ -2501,8 +2502,8 @@ v1.0.0b1
XXX lots of things missing here XXX XXX lots of things missing here XXX
v0.9.2 0.9.2
=========================================== =====
* refined installation and metadata, created new setup.py, * refined installation and metadata, created new setup.py,
now based on setuptools/ez_setup (thanks to Ralf Schmitt now based on setuptools/ez_setup (thanks to Ralf Schmitt
@ -2534,8 +2535,8 @@ v0.9.2
* there now is a py.__version__ attribute * there now is a py.__version__ attribute
v0.9.1 0.9.1
=========================================== =====
This is a fairly complete list of v0.9.1, which can This is a fairly complete list of v0.9.1, which can
serve as a reference for developers. serve as a reference for developers.