diff --git a/CHANGELOG.rst b/CHANGELOG.rst index fb00b0d0e..d723cc7a0 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -8,6 +8,92 @@ .. towncrier release notes start +Pytest 3.6.0 (2018-05-23) +========================= + +Features +-------- + +- Now when ``@pytest.fixture`` is applied more than once to the same function a + ``ValueError`` is raised. This buggy behavior would cause surprising problems + and if was working for a test suite it was mostly by accident. (`#2334 + `_) + +- Support for Python 3.7's builtin ``breakpoint()`` method, see `Using the + builtin breakpoint function + `_ for + details. (`#3180 `_) + +- ``monkeypatch`` now supports a ``context()`` function which acts as a context + manager which undoes all patching done within the ``with`` block. (`#3290 + `_) + +- The ``--pdb`` option now causes KeyboardInterrupt to enter the debugger, + instead of stopping the test session. On python 2.7, hitting CTRL+C again + exits the debugger. On python 3.2 and higher, use CTRL+D. (`#3299 + `_) + +- pytest not longer changes the log level of the root logger when the + ``log-level`` parameter has greater numeric value than that of the level of + the root logger, which makes it play better with custom logging configuration + in user code. (`#3307 `_) + +- Revamp the internals of the ``pytest.mark`` implementation with correct per + node handling which fixes a number of long standing bugs caused by the old + design. This introduces new ``Node.iter_markers(name)`` and + ``Node.get_closest_mark(name)`` APIs. Users are **strongly encouraged** to + read the `reasons for the revamp in the docs + `_, + or jump over to details about `updating existing code to use the new APIs + `_. (`#3317 + `_) + + +Bug Fixes +--------- + +- A rare race-condition which might result in corrupted ``.pyc`` files on + Windows has been hopefully solved. (`#3008 + `_) + +- Also use iter_marker for discovering the marks applying for marker + expressions from the cli to avoid the bad data from the legacy mark storage. + (`#3441 `_) + +- When showing diffs of failed assertions where the contents contain only + whitespace, escape them using ``repr()`` first to make it easy to spot the + differences. (`#3443 `_) + + +Improved Documentation +---------------------- + +- Change documentation copyright year to a range which auto-updates itself each + time it is published. (`#3303 + `_) + + +Trivial/Internal Changes +------------------------ + +- ``pytest`` now depends on the `python-atomicwrites + `_ library. (`#3008 + `_) + +- Update all pypi.python.org URLs to pypi.org. (`#3431 + `_) + +- Detect `pytest_` prefixed hooks using the internal plugin manager since + ``pluggy`` is deprecating the ``implprefix`` argument to ``PluginManager``. + (`#3487 `_) + +- Import ``Mapping`` and ``Sequence`` from ``_pytest.compat`` instead of + directly from ``collections`` in ``python_api.py::approx``. Add ``Mapping`` + to ``_pytest.compat``, import it from ``collections`` on python 2, but from + ``collections.abc`` on Python 3 to avoid a ``DeprecationWarning`` on Python + 3.7 or newer. (`#3497 `_) + + Pytest 3.5.1 (2018-04-23) ========================= diff --git a/changelog/2334.feature b/changelog/2334.feature deleted file mode 100644 index 5af168526..000000000 --- a/changelog/2334.feature +++ /dev/null @@ -1 +0,0 @@ -Now when ``@pytest.fixture`` is applied more than once to the same function a ``ValueError`` is raised. This buggy behavior would cause surprising problems and if was working for a test suite it was mostly by accident. diff --git a/changelog/3008.bugfix.rst b/changelog/3008.bugfix.rst deleted file mode 100644 index 780c54773..000000000 --- a/changelog/3008.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -A rare race-condition which might result in corrupted ``.pyc`` files on Windows has been hopefully solved. diff --git a/changelog/3008.trivial.rst b/changelog/3008.trivial.rst deleted file mode 100644 index 74231da09..000000000 --- a/changelog/3008.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -``pytest`` now depends on the `python-atomicwrites `_ library. diff --git a/changelog/3180.feature.rst b/changelog/3180.feature.rst deleted file mode 100644 index 31db646f4..000000000 --- a/changelog/3180.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Support for Python 3.7's builtin ``breakpoint()`` method, see `Using the builtin breakpoint function `_ for details. diff --git a/changelog/3290.feature b/changelog/3290.feature deleted file mode 100644 index a40afcb1a..000000000 --- a/changelog/3290.feature +++ /dev/null @@ -1,2 +0,0 @@ -``monkeypatch`` now supports a ``context()`` function which acts as a context manager which undoes all patching done -within the ``with`` block. diff --git a/changelog/3299.feature.rst b/changelog/3299.feature.rst deleted file mode 100644 index 5fe591e44..000000000 --- a/changelog/3299.feature.rst +++ /dev/null @@ -1,2 +0,0 @@ -The ``--pdb`` option now causes KeyboardInterrupt to enter the debugger, instead of stopping the test session. -On python 2.7, hitting CTRL+C again exits the debugger. On python 3.2 and higher, use CTRL+D. \ No newline at end of file diff --git a/changelog/3303.doc.rst b/changelog/3303.doc.rst deleted file mode 100644 index 0af91ffb0..000000000 --- a/changelog/3303.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Change documentation copyright year to a range which auto-updates itself each time it is published. diff --git a/changelog/3307.feature.rst b/changelog/3307.feature.rst deleted file mode 100644 index dde449066..000000000 --- a/changelog/3307.feature.rst +++ /dev/null @@ -1,3 +0,0 @@ -pytest not longer changes the log level of the root logger when the -``log-level`` parameter has greater numeric value than that of the level of -the root logger, which makes it play better with custom logging configuration in user code. diff --git a/changelog/3317.feature b/changelog/3317.feature deleted file mode 100644 index 84bf679f7..000000000 --- a/changelog/3317.feature +++ /dev/null @@ -1,4 +0,0 @@ -Revamp the internals of the ``pytest.mark`` implementation with correct per node handling which fixes a number of -long standing bugs caused by the old design. This introduces new ``Node.iter_markers(name)`` and ``Node.get_closest_mark(name)`` APIs. -Users are **strongly encouraged** to read the `reasons for the revamp in the docs `_, -or jump over to details about `updating existing code to use the new APIs `_. diff --git a/changelog/3431.trivial.rst b/changelog/3431.trivial.rst deleted file mode 100644 index 08bc64e8e..000000000 --- a/changelog/3431.trivial.rst +++ /dev/null @@ -1 +0,0 @@ -Update all pypi.python.org URLs to pypi.org. diff --git a/changelog/3441.bugfix b/changelog/3441.bugfix deleted file mode 100644 index 6afeeab62..000000000 --- a/changelog/3441.bugfix +++ /dev/null @@ -1 +0,0 @@ -Also use iter_marker for discovering the marks applying for marker expressions from the cli to avoid the bad data from the legacy mark storage. \ No newline at end of file diff --git a/changelog/3443.bugfix.rst b/changelog/3443.bugfix.rst deleted file mode 100644 index e8bdcdf1d..000000000 --- a/changelog/3443.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -When showing diffs of failed assertions where the contents contain only whitespace, escape them using ``repr()`` first to make it easy to spot the differences. diff --git a/changelog/3487.trivial.rst b/changelog/3487.trivial.rst deleted file mode 100644 index b6dd840f8..000000000 --- a/changelog/3487.trivial.rst +++ /dev/null @@ -1,3 +0,0 @@ -Detect `pytest_` prefixed hooks using the internal plugin -manager since ``pluggy`` is deprecating the ``implprefix`` -argument to ``PluginManager``. diff --git a/changelog/3497.trivial.rst b/changelog/3497.trivial.rst deleted file mode 100644 index c7aca0ec3..000000000 --- a/changelog/3497.trivial.rst +++ /dev/null @@ -1,5 +0,0 @@ -Import ``Mapping`` and ``Sequence`` from ``_pytest.compat`` instead of directly -from ``collections`` in ``python_api.py::approx``. Add ``Mapping`` to -``_pytest.compat``, import it from ``collections`` on python 2, but from -``collections.abc`` on Python 3 to avoid a ``DeprecationWarning`` on -Python 3.7 or newer. diff --git a/doc/en/announce/index.rst b/doc/en/announce/index.rst index f802c9e4c..98b9de572 100644 --- a/doc/en/announce/index.rst +++ b/doc/en/announce/index.rst @@ -6,6 +6,7 @@ Release announcements :maxdepth: 2 + release-3.6.0 release-3.5.1 release-3.5.0 release-3.4.2 diff --git a/doc/en/announce/release-3.6.0.rst b/doc/en/announce/release-3.6.0.rst new file mode 100644 index 000000000..37361cf4a --- /dev/null +++ b/doc/en/announce/release-3.6.0.rst @@ -0,0 +1,41 @@ +pytest-3.6.0 +======================================= + +The pytest team is proud to announce the 3.6.0 release! + +pytest is a mature Python testing tool with more than a 1600 tests +against itself, passing on many different interpreters and platforms. + +This release contains a number of bugs fixes and improvements, so users are encouraged +to take a look at the CHANGELOG: + + http://doc.pytest.org/en/latest/changelog.html + +For complete documentation, please visit: + + http://docs.pytest.org + +As usual, you can upgrade from pypi via: + + pip install -U pytest + +Thanks to all who contributed to this release, among them: + +* Anthony Shaw +* ApaDoctor +* Brian Maissy +* Bruno Oliveira +* Jon Dufresne +* Katerina Koukiou +* Miro Hrončok +* Rachel Kogan +* Ronny Pfannschmidt +* Tim Hughes +* Tyler Goodlet +* Ville Skyttä +* aviral1701 +* feuillemorte + + +Happy testing, +The Pytest Development Team diff --git a/doc/en/example/simple.rst b/doc/en/example/simple.rst index 634e01d5d..90d1bd4ad 100644 --- a/doc/en/example/simple.rst +++ b/doc/en/example/simple.rst @@ -389,7 +389,7 @@ Now we can profile which test functions execute the slowest:: ========================= slowest 3 test durations ========================= 0.30s call test_some_are_slow.py::test_funcslow2 0.20s call test_some_are_slow.py::test_funcslow1 - 0.10s call test_some_are_slow.py::test_funcfast + 0.11s call test_some_are_slow.py::test_funcfast ========================= 3 passed in 0.12 seconds ========================= incremental testing - test steps