1pytest-2.7.0: fixes, features, speed improvements 2=========================================================================== 3 4pytest is a mature Python testing tool with more than a 1100 tests 5against itself, passing on many different interpreters and platforms. 6This release is supposed to be drop-in compatible to 2.6.X. 7 8See below for the changes and see docs at: 9 10 http://pytest.org 11 12As usual, you can upgrade from pypi via:: 13 14 pip install -U pytest 15 16Thanks to all who contributed, among them: 17 18 Anatoly Bubenkoff 19 Floris Bruynooghe 20 Brianna Laugher 21 Eric Siegerman 22 Daniel Hahler 23 Charles Cloud 24 Tom Viner 25 Holger Peters 26 Ldiary Translations 27 almarklein 28 29have fun, 30holger krekel 31 322.7.0 (compared to 2.6.4) 33----------------------------- 34 35- fix issue435: make reload() work when assert rewriting is active. 36 Thanks Daniel Hahler. 37 38- fix issue616: conftest.py files and their contained fixutres are now 39 properly considered for visibility, independently from the exact 40 current working directory and test arguments that are used. 41 Many thanks to Eric Siegerman and his PR235 which contains 42 systematic tests for conftest visibility and now passes. 43 This change also introduces the concept of a ``rootdir`` which 44 is printed as a new pytest header and documented in the pytest 45 customize web page. 46 47- change reporting of "diverted" tests, i.e. tests that are collected 48 in one file but actually come from another (e.g. when tests in a test class 49 come from a base class in a different file). We now show the nodeid 50 and indicate via a postfix the other file. 51 52- add ability to set command line options by environment variable PYTEST_ADDOPTS. 53 54- added documentation on the new pytest-dev teams on bitbucket and 55 github. See https://pytest.org/latest/contributing.html . 56 Thanks to Anatoly for pushing and initial work on this. 57 58- fix issue650: new option ``--docttest-ignore-import-errors`` which 59 will turn import errors in doctests into skips. Thanks Charles Cloud 60 for the complete PR. 61 62- fix issue655: work around different ways that cause python2/3 63 to leak sys.exc_info into fixtures/tests causing failures in 3rd party code 64 65- fix issue615: assertion re-writing did not correctly escape % signs 66 when formatting boolean operations, which tripped over mixing 67 booleans with modulo operators. Thanks to Tom Viner for the report, 68 triaging and fix. 69 70- implement issue351: add ability to specify parametrize ids as a callable 71 to generate custom test ids. Thanks Brianna Laugher for the idea and 72 implementation. 73 74- introduce and document new hookwrapper mechanism useful for plugins 75 which want to wrap the execution of certain hooks for their purposes. 76 This supersedes the undocumented ``__multicall__`` protocol which 77 pytest itself and some external plugins use. Note that pytest-2.8 78 is scheduled to drop supporting the old ``__multicall__`` 79 and only support the hookwrapper protocol. 80 81- majorly speed up invocation of plugin hooks 82 83- use hookwrapper mechanism in builtin pytest plugins. 84 85- add a doctest ini option for doctest flags, thanks Holger Peters. 86 87- add note to docs that if you want to mark a parameter and the 88 parameter is a callable, you also need to pass in a reason to disambiguate 89 it from the "decorator" case. Thanks Tom Viner. 90 91- "python_classes" and "python_functions" options now support glob-patterns 92 for test discovery, as discussed in issue600. Thanks Ldiary Translations. 93 94- allow to override parametrized fixtures with non-parametrized ones and vice versa (bubenkoff). 95 96- fix issue463: raise specific error for 'parameterize' misspelling (pfctdayelise). 97 98- On failure, the ``sys.last_value``, ``sys.last_type`` and 99 ``sys.last_traceback`` are set, so that a user can inspect the error 100 via postmortem debugging (almarklein). 101 102