Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare release 7.1.0 #9758

Merged
merged 2 commits into from Mar 13, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 0 additions & 3 deletions changelog/5192.improvement.rst

This file was deleted.

3 changes: 0 additions & 3 deletions changelog/8242.bugfix.rst

This file was deleted.

15 changes: 0 additions & 15 deletions changelog/8838.breaking.rst

This file was deleted.

1 change: 0 additions & 1 deletion changelog/9362.improvement.rst

This file was deleted.

1 change: 0 additions & 1 deletion changelog/9437.breaking.rst

This file was deleted.

10 changes: 0 additions & 10 deletions changelog/9493.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion changelog/9536.improvement.rst

This file was deleted.

3 changes: 0 additions & 3 deletions changelog/9626.bugfix.rst

This file was deleted.

4 changes: 0 additions & 4 deletions changelog/9644.improvement.rst

This file was deleted.

1 change: 0 additions & 1 deletion changelog/9645.bugfix.rst

This file was deleted.

3 changes: 0 additions & 3 deletions changelog/9678.improvement.rst

This file was deleted.

3 changes: 0 additions & 3 deletions changelog/9692.improvement.rst

This file was deleted.

1 change: 0 additions & 1 deletion changelog/9708.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion changelog/9730.bugfix.rst

This file was deleted.

1 change: 1 addition & 0 deletions doc/en/announce/index.rst
Expand Up @@ -6,6 +6,7 @@ Release announcements
:maxdepth: 2


release-7.1.0
release-7.0.1
release-7.0.0
release-7.0.0rc1
Expand Down
48 changes: 48 additions & 0 deletions doc/en/announce/release-7.1.0.rst
@@ -0,0 +1,48 @@
pytest-7.1.0
=======================================

The pytest team is proud to announce the 7.1.0 release!

This release contains new features, improvements, and bug fixes,
the full list of changes is available in the changelog:

https://docs.pytest.org/en/stable/changelog.html

For complete documentation, please visit:

https://docs.pytest.org/en/stable/

As usual, you can upgrade from PyPI via:

pip install -U pytest

Thanks to all of the contributors to this release:

* Akuli
* Andrew Svetlov
* Anthony Sottile
* Brett Holman
* Bruno Oliveira
* Chris NeJame
* Dan Alvizu
* Elijah DeLee
* Emmanuel Arias
* Fabian Egli
* Florian Bruhin
* Gabor Szabo
* Hasan Ramezani
* Hugo van Kemenade
* Kian Meng, Ang
* Kojo Idrissa
* Masaru Tsuchiyama
* Olga Matoula
* P. L. Lim
* Ran Benita
* Tobias Deiminger
* Yuval Shimon
* eduardo naufel schettino
* Éric


Happy testing,
The pytest Development Team
4 changes: 2 additions & 2 deletions doc/en/builtin.rst
Expand Up @@ -65,7 +65,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
Fixture that returns a :py:class:`dict` that will be injected into the
namespace of doctests.

pytestconfig [session scope] -- .../_pytest/fixtures.py:1365
pytestconfig [session scope] -- .../_pytest/fixtures.py:1334
Session-scoped fixture that returns the session's :class:`pytest.Config`
object.

Expand Down Expand Up @@ -134,7 +134,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a

.. _legacy_path: https://py.readthedocs.io/en/latest/path.html

caplog -- .../_pytest/logging.py:483
caplog -- .../_pytest/logging.py:487
Access and control log capturing.

Captured logs are available through the following properties/methods::
Expand Down
92 changes: 92 additions & 0 deletions doc/en/changelog.rst
Expand Up @@ -28,6 +28,98 @@ with advance notice in the **Deprecations** section of releases.

.. towncrier release notes start

pytest 7.1.0 (2022-03-13)
=========================

Breaking Changes
----------------

- `#8838 <https://github.com/pytest-dev/pytest/issues/8838>`_: As per our policy, the following features have been deprecated in the 6.X series and are now
removed:

* ``pytest._fillfuncargs`` function.

* ``pytest_warning_captured`` hook - use ``pytest_warning_recorded`` instead.

* ``-k -foobar`` syntax - use ``-k 'not foobar'`` instead.

* ``-k foobar:`` syntax.

* ``pytest.collect`` module - import from ``pytest`` directly.

For more information consult
`Deprecations and Removals <https://docs.pytest.org/en/latest/deprecations.html>`__ in the docs.


- `#9437 <https://github.com/pytest-dev/pytest/issues/9437>`_: Dropped support for Python 3.6, which reached `end-of-life <https://devguide.python.org/#status-of-python-branches>`__ at 2021-12-23.



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

- `#5192 <https://github.com/pytest-dev/pytest/issues/5192>`_: Fixed test output for some data types where ``-v`` would show less information.

Also, when showing diffs for sequences, ``-q`` would produce full diffs instead of the expected diff.


- `#9362 <https://github.com/pytest-dev/pytest/issues/9362>`_: pytest now avoids specialized assert formatting when it is detected that the default ``__eq__`` is overridden in ``attrs`` or ``dataclasses``.


- `#9536 <https://github.com/pytest-dev/pytest/issues/9536>`_: When ``-vv`` is given on command line, show skipping and xfail reasons in full instead of truncating them to fit the terminal width.


- `#9644 <https://github.com/pytest-dev/pytest/issues/9644>`_: More information about the location of resources that led Python to raise :class:`ResourceWarning` can now
be obtained by enabling :mod:`tracemalloc`.

See :ref:`resource-warnings` for more information.


- `#9678 <https://github.com/pytest-dev/pytest/issues/9678>`_: More types are now accepted in the ``ids`` argument to ``@pytest.mark.parametrize``.
Previously only `str`, `float`, `int` and `bool` were accepted;
now `bytes`, `complex`, `re.Pattern`, `Enum` and anything with a `__name__` are also accepted.


- `#9692 <https://github.com/pytest-dev/pytest/issues/9692>`_: :func:`pytest.approx` now raises a :class:`TypeError` when given an unordered sequence (such as :class:`set`).

Note that this implies that custom classes which only implement ``__iter__`` and ``__len__`` are no longer supported as they don't guarantee order.



Bug Fixes
---------

- `#8242 <https://github.com/pytest-dev/pytest/issues/8242>`_: The deprecation of raising :class:`unittest.SkipTest` to skip collection of
tests during the pytest collection phase is reverted - this is now a supported
feature again.


- `#9493 <https://github.com/pytest-dev/pytest/issues/9493>`_: Symbolic link components are no longer resolved in conftest paths.
This means that if a conftest appears twice in collection tree, using symlinks, it will be executed twice.
For example, given

tests/real/conftest.py
tests/real/test_it.py
tests/link -> tests/real

running ``pytest tests`` now imports the conftest twice, once as ``tests/real/conftest.py`` and once as ``tests/link/conftest.py``.
This is a fix to match a similar change made to test collection itself in pytest 6.0 (see :pull:`6523` for details).


- `#9626 <https://github.com/pytest-dev/pytest/issues/9626>`_: Fixed count of selected tests on terminal collection summary when there were errors or skipped modules.

If there were errors or skipped modules on collection, pytest would mistakenly subtract those from the selected count.


- `#9645 <https://github.com/pytest-dev/pytest/issues/9645>`_: Fixed regression where ``--import-mode=importlib`` used together with :envvar:`PYTHONPATH` or :confval:`pythonpath` would cause import errors in test suites.


- `#9708 <https://github.com/pytest-dev/pytest/issues/9708>`_: :fixture:`pytester` now requests a :fixture:`monkeypatch` fixture instead of creating one internally. This solves some issues with tests that involve pytest environment variables.


- `#9730 <https://github.com/pytest-dev/pytest/issues/9730>`_: Malformed ``pyproject.toml`` files now produce a clearer error message.


pytest 7.0.1 (2022-02-11)
=========================

Expand Down
6 changes: 3 additions & 3 deletions doc/en/example/reportingdemo.rst
Expand Up @@ -155,7 +155,7 @@ Here is a nice run of several failures and how ``pytest`` presents things:
> assert [0, 1, 2] == [0, 1, 3]
E assert [0, 1, 2] == [0, 1, 3]
E At index 2 diff: 2 != 3
E Use -v to get the full diff
E Use -v to get more diff

failure_demo.py:63: AssertionError
______________ TestSpecialisedExplanations.test_eq_list_long _______________
Expand All @@ -168,7 +168,7 @@ Here is a nice run of several failures and how ``pytest`` presents things:
> assert a == b
E assert [0, 0, 0, 0, 0, 0, ...] == [0, 0, 0, 0, 0, 0, ...]
E At index 100 diff: 1 != 2
E Use -v to get the full diff
E Use -v to get more diff

failure_demo.py:68: AssertionError
_________________ TestSpecialisedExplanations.test_eq_dict _________________
Expand Down Expand Up @@ -215,7 +215,7 @@ Here is a nice run of several failures and how ``pytest`` presents things:
> assert [1, 2] == [1, 2, 3]
E assert [1, 2] == [1, 2, 3]
E Right contains one more item: 3
E Use -v to get the full diff
E Use -v to get more diff

failure_demo.py:77: AssertionError
_________________ TestSpecialisedExplanations.test_in_list _________________
Expand Down
2 changes: 1 addition & 1 deletion doc/en/getting-started.rst
Expand Up @@ -22,7 +22,7 @@ Install ``pytest``
.. code-block:: bash

$ pytest --version
pytest 7.0.1
pytest 7.1.0

.. _`simpletest`:

Expand Down
2 changes: 1 addition & 1 deletion doc/en/how-to/assert.rst
Expand Up @@ -201,7 +201,7 @@ if you run this module:
E '1'
E Extra items in the right set:
E '5'
E Use -v to get the full diff
E Use -v to get more diff

test_assert2.py:4: AssertionError
========================= short test summary info ==========================
Expand Down
4 changes: 2 additions & 2 deletions doc/en/how-to/output.rst
Expand Up @@ -84,7 +84,7 @@ Executing pytest normally gives us this output (we are skipping the header to fo
> assert fruits1 == fruits2
E AssertionError: assert ['banana', 'a...elon', 'kiwi'] == ['banana', 'a...elon', 'kiwi']
E At index 2 diff: 'grapes' != 'orange'
E Use -v to get the full diff
E Use -v to get more diff

test_verbosity_example.py:8: AssertionError
____________________________ test_numbers_fail _____________________________
Expand All @@ -99,7 +99,7 @@ Executing pytest normally gives us this output (we are skipping the header to fo
E {'1': 1, '2': 2, '3': 3, '4': 4}
E Right contains 4 more items:
E {'10': 10, '20': 20, '30': 30, '40': 40}
E Use -v to get the full diff
E Use -v to get more diff

test_verbosity_example.py:14: AssertionError
___________________________ test_long_text_fail ____________________________
Expand Down