Merge pull request #6897 from pytest-dev/release-5.4.0
Prepare release 5.4.0
This commit is contained in:
commit
2b6740672d
|
@ -1 +0,0 @@
|
||||||
``pytest.mark.parametrize`` accepts integers for ``ids`` again, converting it to strings.
|
|
|
@ -1 +0,0 @@
|
||||||
Add support for calling `pytest.xfail()` and `pytest.importorskip()` with doctests.
|
|
|
@ -1,5 +0,0 @@
|
||||||
Option ``--no-print-logs`` is deprecated and meant to be removed in a future release. If you use ``--no-print-logs``, please try out ``--show-capture`` and
|
|
||||||
provide feedback.
|
|
||||||
|
|
||||||
``--show-capture`` command-line option was added in ``pytest 3.5.0`` and allows to specify how to
|
|
||||||
display captured output when tests fail: ``no``, ``stdout``, ``stderr``, ``log`` or ``all`` (the default).
|
|
|
@ -1 +0,0 @@
|
||||||
``--trace`` now works with unittests.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed some warning reports produced by pytest to point to the correct location of the warning in the user's code.
|
|
|
@ -1 +0,0 @@
|
||||||
Use "yellow" main color with any XPASSED tests.
|
|
|
@ -1 +0,0 @@
|
||||||
New :ref:`--capture=tee-sys <capture-method>` option to allow both live printing and capturing of test output.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Revert "A warning is now issued when assertions are made for ``None``".
|
|
||||||
|
|
||||||
The warning proved to be less useful than initially expected and had quite a
|
|
||||||
few false positive cases.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix ``--last-failed`` to collect new tests from files with known failures.
|
|
|
@ -1 +0,0 @@
|
||||||
``tmpdir_factory.mktemp`` now fails when given absolute and non-normalized paths.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Deprecate the unused/broken `pytest_collect_directory` hook.
|
|
||||||
It was misaligned since the removal of the ``Directory`` collector in 2010
|
|
||||||
and incorrect/unusable as soon as collection was split from test execution.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Now all arguments to ``@pytest.mark.parametrize`` need to be explicitly declared in the function signature or via ``indirect``.
|
|
||||||
Previously it was possible to omit an argument if a fixture with the same name existed, which was just an accident of implementation and was not meant to be a part of the API.
|
|
|
@ -1 +0,0 @@
|
||||||
Report ``PytestUnknownMarkWarning`` at the level of the user's code, not ``pytest``'s.
|
|
|
@ -1,10 +0,0 @@
|
||||||
Deprecate using direct constructors for ``Nodes``.
|
|
||||||
|
|
||||||
Instead they are new constructed via ``Node.from_parent``.
|
|
||||||
|
|
||||||
This transitional mechanism enables us to detangle the very intensely
|
|
||||||
entangled ``Node`` relationships by enforcing more controlled creation/configruation patterns.
|
|
||||||
|
|
||||||
As part of that session/config are already disallowed parameters and as we work on the details we might need disallow a few more as well.
|
|
||||||
|
|
||||||
Subclasses are expected to use `super().from_parent` if they intend to expand the creation of `Nodes`.
|
|
|
@ -1 +0,0 @@
|
||||||
The ``pytest_warning_captured`` hook now receives a ``location`` parameter with the code location that generated the warning.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix interaction with ``--pdb`` and unittests: do not use unittest's ``TestCase.debug()``.
|
|
|
@ -1 +0,0 @@
|
||||||
pytester: the ``testdir`` fixture respects environment settings from the ``monkeypatch`` fixture for inner runs.
|
|
|
@ -1 +0,0 @@
|
||||||
``--fulltrace`` is honored with collection errors.
|
|
|
@ -1 +0,0 @@
|
||||||
Matching of ``-k EXPRESSION`` to test names is now case-insensitive.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix summary entries appearing twice when ``f/F`` and ``s/S`` report chars were used at the same time in the ``-r`` command-line option (for example ``-rFf``).
|
|
||||||
|
|
||||||
The upper case variants were never documented and the preferred form should be the lower case.
|
|
|
@ -1 +0,0 @@
|
||||||
Make `--showlocals` work also with `--tb=short`.
|
|
|
@ -1 +0,0 @@
|
||||||
Remove usage of ``parser`` module, deprecated in Python 3.9.
|
|
|
@ -1 +0,0 @@
|
||||||
Fallback to green (instead of yellow) for non-last items without previous passes with colored terminal progress indicator.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Plugins specified with ``-p`` are now loaded after internal plugins, which results in their hooks being called *before* the internal ones.
|
|
||||||
|
|
||||||
This makes the ``-p`` behavior consistent with ``PYTEST_PLUGINS``.
|
|
|
@ -1 +0,0 @@
|
||||||
`--disable-warnings` is honored with `-ra` and `-rA`.
|
|
|
@ -1 +0,0 @@
|
||||||
Changed default for `-r` to `fE`, which displays failures and errors in the :ref:`short test summary <pytest.detailed_failed_tests_usage>`. `-rN` can be used to disable it (the old behavior).
|
|
|
@ -1 +0,0 @@
|
||||||
New options have been added to the :confval:`junit_logging` option: ``log``, ``out-err``, and ``all``.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Fix bug in the comparison of request key with cached key in fixture.
|
|
||||||
|
|
||||||
A construct ``if key == cached_key:`` can fail either because ``==`` is explicitly disallowed, or for, e.g., NumPy arrays, where the result of ``a == b`` cannot generally be converted to `bool`.
|
|
||||||
The implemented fix replaces `==` with ``is``.
|
|
|
@ -1 +0,0 @@
|
||||||
Make capture output streams ``.write()`` method return the same return value from original streams.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix ``EncodedFile.writelines`` to call the underlying buffer's ``writelines`` method.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix internal crash when ``faulthandler`` starts initialized
|
|
||||||
(for example with ``PYTHONFAULTHANDLER=1`` environment variable set) and ``faulthandler_timeout`` defined
|
|
||||||
in the configuration file.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix node ids which contain a parametrized empty-string variable.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Removed the long-deprecated ``pytest_itemstart`` hook.
|
|
||||||
|
|
||||||
This hook has been marked as deprecated and not been even called by pytest for over 10 years now.
|
|
|
@ -1 +0,0 @@
|
||||||
Assertion rewriting hooks are (re)stored for the current item, which fixes them being still used after e.g. pytester's :func:`testdir.runpytest <_pytest.pytester.Testdir.runpytest>` etc.
|
|
|
@ -1 +0,0 @@
|
||||||
Add support for matching lines consecutively with :attr:`LineMatcher <_pytest.pytester.LineMatcher>`'s :func:`~_pytest.pytester.LineMatcher.fnmatch_lines` and :func:`~_pytest.pytester.LineMatcher.re_match_lines`.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Code is now highlighted in tracebacks when ``pygments`` is installed.
|
|
||||||
|
|
||||||
Users are encouraged to install ``pygments`` into their environment and provide feedback, because
|
|
||||||
the plan is to make ``pygments`` a regular dependency in the future.
|
|
|
@ -1 +0,0 @@
|
||||||
:func:`pytest.exit() <_pytest.outcomes.exit>` is handled when emitted from the :func:`pytest_sessionfinish <_pytest.hookspec.pytest_sessionfinish>` hook. This includes quitting from a debugger.
|
|
|
@ -1 +0,0 @@
|
||||||
Reversed / fix meaning of "+/-" in error diffs. "-" means that sth. expected is missing in the result and "+" means that there are unexpected extras in the result.
|
|
|
@ -1 +0,0 @@
|
||||||
Add list of fixtures to start of fixture chapter.
|
|
|
@ -1,7 +0,0 @@
|
||||||
The ``cached_result`` attribute of ``FixtureDef`` is now set to ``None`` when
|
|
||||||
the result is unavailable, instead of being deleted.
|
|
||||||
|
|
||||||
If your plugin performs checks like ``hasattr(fixturedef, 'cached_result')``,
|
|
||||||
for example in a ``pytest_fixture_post_finalizer`` hook implementation, replace
|
|
||||||
it with ``fixturedef.cached_result is not None``. If you ``del`` the attribute,
|
|
||||||
set it to ``None`` instead.
|
|
|
@ -1 +0,0 @@
|
||||||
Expand first sentence on fixtures into a paragraph.
|
|
|
@ -1,3 +0,0 @@
|
||||||
When :py:func:`pytest.raises` is used as a function (as opposed to a context manager),
|
|
||||||
a `match` keyword argument is now passed through to the tested function. Previously
|
|
||||||
it was swallowed and ignored (regression in pytest 5.1.0).
|
|
|
@ -1,3 +0,0 @@
|
||||||
The ``TerminalReporter.writer`` attribute has been deprecated and should no longer be used. This
|
|
||||||
was inadvertently exposed as part of the public API of that plugin and ties it too much
|
|
||||||
with ``py.io.TerminalWriter``.
|
|
|
@ -1 +0,0 @@
|
||||||
Import usage error message with invalid `-o` option.
|
|
|
@ -1 +0,0 @@
|
||||||
Do not display empty lines inbetween traceback for unexpected exceptions with doctests.
|
|
|
@ -1 +0,0 @@
|
||||||
The :fixture:`testdir fixture <testdir>` works within doctests now.
|
|
|
@ -1 +0,0 @@
|
||||||
Excess warning summaries are now collapsed per file to ensure readable display of warning summaries.
|
|
|
@ -1 +0,0 @@
|
||||||
``pytest.mark.parametrize`` supports iterators and generators for ``ids``.
|
|
|
@ -6,6 +6,7 @@ Release announcements
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
|
|
||||||
|
release-5.4.0
|
||||||
release-5.3.5
|
release-5.3.5
|
||||||
release-5.3.4
|
release-5.3.4
|
||||||
release-5.3.3
|
release-5.3.3
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
pytest-5.4.0
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
The pytest team is proud to announce the 5.4.0 release!
|
||||||
|
|
||||||
|
pytest is a mature Python testing tool with more than a 2000 tests
|
||||||
|
against itself, passing on many different interpreters and platforms.
|
||||||
|
|
||||||
|
This release contains a number of bug fixes and improvements, so users are encouraged
|
||||||
|
to take a look at the CHANGELOG:
|
||||||
|
|
||||||
|
https://docs.pytest.org/en/latest/changelog.html
|
||||||
|
|
||||||
|
For complete documentation, please visit:
|
||||||
|
|
||||||
|
https://docs.pytest.org/en/latest/
|
||||||
|
|
||||||
|
As usual, you can upgrade from PyPI via:
|
||||||
|
|
||||||
|
pip install -U pytest
|
||||||
|
|
||||||
|
Thanks to all who contributed to this release, among them:
|
||||||
|
|
||||||
|
* Anthony Sottile
|
||||||
|
* Bruno Oliveira
|
||||||
|
* Christoph Buelter
|
||||||
|
* Christoph Bülter
|
||||||
|
* Daniel Arndt
|
||||||
|
* Daniel Hahler
|
||||||
|
* Holger Kohr
|
||||||
|
* Hugo
|
||||||
|
* Hugo van Kemenade
|
||||||
|
* Jakub Mitoraj
|
||||||
|
* Kyle Altendorf
|
||||||
|
* Minuddin Ahmed Rana
|
||||||
|
* Nathaniel Compton
|
||||||
|
* ParetoLife
|
||||||
|
* Pauli Virtanen
|
||||||
|
* Philipp Loose
|
||||||
|
* Ran Benita
|
||||||
|
* Ronny Pfannschmidt
|
||||||
|
* Stefan Scherfke
|
||||||
|
* Stefano Mazzucco
|
||||||
|
* TWood67
|
||||||
|
* Tobias Schmidt
|
||||||
|
* Tomáš Gavenčiak
|
||||||
|
* Vinay Calastry
|
||||||
|
* Vladyslav Rachek
|
||||||
|
* Zac Hatfield-Dodds
|
||||||
|
* captainCapitalism
|
||||||
|
* cmachalo
|
||||||
|
* gftea
|
||||||
|
* kpinc
|
||||||
|
* rebecca-palmer
|
||||||
|
* sdementen
|
||||||
|
|
||||||
|
|
||||||
|
Happy testing,
|
||||||
|
The pytest Development Team
|
|
@ -28,6 +28,223 @@ with advance notice in the **Deprecations** section of releases.
|
||||||
|
|
||||||
.. towncrier release notes start
|
.. towncrier release notes start
|
||||||
|
|
||||||
|
pytest 5.4.0 (2020-03-12)
|
||||||
|
=========================
|
||||||
|
|
||||||
|
Breaking Changes
|
||||||
|
----------------
|
||||||
|
|
||||||
|
- `#6316 <https://github.com/pytest-dev/pytest/issues/6316>`_: Matching of ``-k EXPRESSION`` to test names is now case-insensitive.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6443 <https://github.com/pytest-dev/pytest/issues/6443>`_: Plugins specified with ``-p`` are now loaded after internal plugins, which results in their hooks being called *before* the internal ones.
|
||||||
|
|
||||||
|
This makes the ``-p`` behavior consistent with ``PYTEST_PLUGINS``.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6637 <https://github.com/pytest-dev/pytest/issues/6637>`_: Removed the long-deprecated ``pytest_itemstart`` hook.
|
||||||
|
|
||||||
|
This hook has been marked as deprecated and not been even called by pytest for over 10 years now.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6673 <https://github.com/pytest-dev/pytest/issues/6673>`_: Reversed / fix meaning of "+/-" in error diffs. "-" means that sth. expected is missing in the result and "+" means that there are unexpected extras in the result.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6737 <https://github.com/pytest-dev/pytest/issues/6737>`_: The ``cached_result`` attribute of ``FixtureDef`` is now set to ``None`` when
|
||||||
|
the result is unavailable, instead of being deleted.
|
||||||
|
|
||||||
|
If your plugin performs checks like ``hasattr(fixturedef, 'cached_result')``,
|
||||||
|
for example in a ``pytest_fixture_post_finalizer`` hook implementation, replace
|
||||||
|
it with ``fixturedef.cached_result is not None``. If you ``del`` the attribute,
|
||||||
|
set it to ``None`` instead.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deprecations
|
||||||
|
------------
|
||||||
|
|
||||||
|
- `#3238 <https://github.com/pytest-dev/pytest/issues/3238>`_: Option ``--no-print-logs`` is deprecated and meant to be removed in a future release. If you use ``--no-print-logs``, please try out ``--show-capture`` and
|
||||||
|
provide feedback.
|
||||||
|
|
||||||
|
``--show-capture`` command-line option was added in ``pytest 3.5.0`` and allows to specify how to
|
||||||
|
display captured output when tests fail: ``no``, ``stdout``, ``stderr``, ``log`` or ``all`` (the default).
|
||||||
|
|
||||||
|
|
||||||
|
- `#571 <https://github.com/pytest-dev/pytest/issues/571>`_: Deprecate the unused/broken `pytest_collect_directory` hook.
|
||||||
|
It was misaligned since the removal of the ``Directory`` collector in 2010
|
||||||
|
and incorrect/unusable as soon as collection was split from test execution.
|
||||||
|
|
||||||
|
|
||||||
|
- `#5975 <https://github.com/pytest-dev/pytest/issues/5975>`_: Deprecate using direct constructors for ``Nodes``.
|
||||||
|
|
||||||
|
Instead they are new constructed via ``Node.from_parent``.
|
||||||
|
|
||||||
|
This transitional mechanism enables us to detangle the very intensely
|
||||||
|
entangled ``Node`` relationships by enforcing more controlled creation/configruation patterns.
|
||||||
|
|
||||||
|
As part of that session/config are already disallowed parameters and as we work on the details we might need disallow a few more as well.
|
||||||
|
|
||||||
|
Subclasses are expected to use `super().from_parent` if they intend to expand the creation of `Nodes`.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6779 <https://github.com/pytest-dev/pytest/issues/6779>`_: The ``TerminalReporter.writer`` attribute has been deprecated and should no longer be used. This
|
||||||
|
was inadvertently exposed as part of the public API of that plugin and ties it too much
|
||||||
|
with ``py.io.TerminalWriter``.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Features
|
||||||
|
--------
|
||||||
|
|
||||||
|
- `#4597 <https://github.com/pytest-dev/pytest/issues/4597>`_: New :ref:`--capture=tee-sys <capture-method>` option to allow both live printing and capturing of test output.
|
||||||
|
|
||||||
|
|
||||||
|
- `#5712 <https://github.com/pytest-dev/pytest/issues/5712>`_: Now all arguments to ``@pytest.mark.parametrize`` need to be explicitly declared in the function signature or via ``indirect``.
|
||||||
|
Previously it was possible to omit an argument if a fixture with the same name existed, which was just an accident of implementation and was not meant to be a part of the API.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6454 <https://github.com/pytest-dev/pytest/issues/6454>`_: Changed default for `-r` to `fE`, which displays failures and errors in the :ref:`short test summary <pytest.detailed_failed_tests_usage>`. `-rN` can be used to disable it (the old behavior).
|
||||||
|
|
||||||
|
|
||||||
|
- `#6469 <https://github.com/pytest-dev/pytest/issues/6469>`_: New options have been added to the :confval:`junit_logging` option: ``log``, ``out-err``, and ``all``.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6834 <https://github.com/pytest-dev/pytest/issues/6834>`_: Excess warning summaries are now collapsed per file to ensure readable display of warning summaries.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Improvements
|
||||||
|
------------
|
||||||
|
|
||||||
|
- `#1857 <https://github.com/pytest-dev/pytest/issues/1857>`_: ``pytest.mark.parametrize`` accepts integers for ``ids`` again, converting it to strings.
|
||||||
|
|
||||||
|
|
||||||
|
- `#449 <https://github.com/pytest-dev/pytest/issues/449>`_: Use "yellow" main color with any XPASSED tests.
|
||||||
|
|
||||||
|
|
||||||
|
- `#4639 <https://github.com/pytest-dev/pytest/issues/4639>`_: Revert "A warning is now issued when assertions are made for ``None``".
|
||||||
|
|
||||||
|
The warning proved to be less useful than initially expected and had quite a
|
||||||
|
few false positive cases.
|
||||||
|
|
||||||
|
|
||||||
|
- `#5686 <https://github.com/pytest-dev/pytest/issues/5686>`_: ``tmpdir_factory.mktemp`` now fails when given absolute and non-normalized paths.
|
||||||
|
|
||||||
|
|
||||||
|
- `#5984 <https://github.com/pytest-dev/pytest/issues/5984>`_: The ``pytest_warning_captured`` hook now receives a ``location`` parameter with the code location that generated the warning.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6213 <https://github.com/pytest-dev/pytest/issues/6213>`_: pytester: the ``testdir`` fixture respects environment settings from the ``monkeypatch`` fixture for inner runs.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6247 <https://github.com/pytest-dev/pytest/issues/6247>`_: ``--fulltrace`` is honored with collection errors.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6384 <https://github.com/pytest-dev/pytest/issues/6384>`_: Make `--showlocals` work also with `--tb=short`.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6653 <https://github.com/pytest-dev/pytest/issues/6653>`_: Add support for matching lines consecutively with :attr:`LineMatcher <_pytest.pytester.LineMatcher>`'s :func:`~_pytest.pytester.LineMatcher.fnmatch_lines` and :func:`~_pytest.pytester.LineMatcher.re_match_lines`.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6658 <https://github.com/pytest-dev/pytest/issues/6658>`_: Code is now highlighted in tracebacks when ``pygments`` is installed.
|
||||||
|
|
||||||
|
Users are encouraged to install ``pygments`` into their environment and provide feedback, because
|
||||||
|
the plan is to make ``pygments`` a regular dependency in the future.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6795 <https://github.com/pytest-dev/pytest/issues/6795>`_: Import usage error message with invalid `-o` option.
|
||||||
|
|
||||||
|
|
||||||
|
- `#759 <https://github.com/pytest-dev/pytest/issues/759>`_: ``pytest.mark.parametrize`` supports iterators and generators for ``ids``.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Bug Fixes
|
||||||
|
---------
|
||||||
|
|
||||||
|
- `#310 <https://github.com/pytest-dev/pytest/issues/310>`_: Add support for calling `pytest.xfail()` and `pytest.importorskip()` with doctests.
|
||||||
|
|
||||||
|
|
||||||
|
- `#3823 <https://github.com/pytest-dev/pytest/issues/3823>`_: ``--trace`` now works with unittests.
|
||||||
|
|
||||||
|
|
||||||
|
- `#4445 <https://github.com/pytest-dev/pytest/issues/4445>`_: Fixed some warning reports produced by pytest to point to the correct location of the warning in the user's code.
|
||||||
|
|
||||||
|
|
||||||
|
- `#5301 <https://github.com/pytest-dev/pytest/issues/5301>`_: Fix ``--last-failed`` to collect new tests from files with known failures.
|
||||||
|
|
||||||
|
|
||||||
|
- `#5928 <https://github.com/pytest-dev/pytest/issues/5928>`_: Report ``PytestUnknownMarkWarning`` at the level of the user's code, not ``pytest``'s.
|
||||||
|
|
||||||
|
|
||||||
|
- `#5991 <https://github.com/pytest-dev/pytest/issues/5991>`_: Fix interaction with ``--pdb`` and unittests: do not use unittest's ``TestCase.debug()``.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6334 <https://github.com/pytest-dev/pytest/issues/6334>`_: Fix summary entries appearing twice when ``f/F`` and ``s/S`` report chars were used at the same time in the ``-r`` command-line option (for example ``-rFf``).
|
||||||
|
|
||||||
|
The upper case variants were never documented and the preferred form should be the lower case.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6409 <https://github.com/pytest-dev/pytest/issues/6409>`_: Fallback to green (instead of yellow) for non-last items without previous passes with colored terminal progress indicator.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6454 <https://github.com/pytest-dev/pytest/issues/6454>`_: `--disable-warnings` is honored with `-ra` and `-rA`.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6497 <https://github.com/pytest-dev/pytest/issues/6497>`_: Fix bug in the comparison of request key with cached key in fixture.
|
||||||
|
|
||||||
|
A construct ``if key == cached_key:`` can fail either because ``==`` is explicitly disallowed, or for, e.g., NumPy arrays, where the result of ``a == b`` cannot generally be converted to `bool`.
|
||||||
|
The implemented fix replaces `==` with ``is``.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6557 <https://github.com/pytest-dev/pytest/issues/6557>`_: Make capture output streams ``.write()`` method return the same return value from original streams.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6566 <https://github.com/pytest-dev/pytest/issues/6566>`_: Fix ``EncodedFile.writelines`` to call the underlying buffer's ``writelines`` method.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6575 <https://github.com/pytest-dev/pytest/issues/6575>`_: Fix internal crash when ``faulthandler`` starts initialized
|
||||||
|
(for example with ``PYTHONFAULTHANDLER=1`` environment variable set) and ``faulthandler_timeout`` defined
|
||||||
|
in the configuration file.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6597 <https://github.com/pytest-dev/pytest/issues/6597>`_: Fix node ids which contain a parametrized empty-string variable.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6646 <https://github.com/pytest-dev/pytest/issues/6646>`_: Assertion rewriting hooks are (re)stored for the current item, which fixes them being still used after e.g. pytester's :func:`testdir.runpytest <_pytest.pytester.Testdir.runpytest>` etc.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6660 <https://github.com/pytest-dev/pytest/issues/6660>`_: :func:`pytest.exit() <_pytest.outcomes.exit>` is handled when emitted from the :func:`pytest_sessionfinish <_pytest.hookspec.pytest_sessionfinish>` hook. This includes quitting from a debugger.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6752 <https://github.com/pytest-dev/pytest/issues/6752>`_: When :py:func:`pytest.raises` is used as a function (as opposed to a context manager),
|
||||||
|
a `match` keyword argument is now passed through to the tested function. Previously
|
||||||
|
it was swallowed and ignored (regression in pytest 5.1.0).
|
||||||
|
|
||||||
|
|
||||||
|
- `#6801 <https://github.com/pytest-dev/pytest/issues/6801>`_: Do not display empty lines inbetween traceback for unexpected exceptions with doctests.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6802 <https://github.com/pytest-dev/pytest/issues/6802>`_: The :fixture:`testdir fixture <testdir>` works within doctests now.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Improved Documentation
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
- `#6696 <https://github.com/pytest-dev/pytest/issues/6696>`_: Add list of fixtures to start of fixture chapter.
|
||||||
|
|
||||||
|
|
||||||
|
- `#6742 <https://github.com/pytest-dev/pytest/issues/6742>`_: Expand first sentence on fixtures into a paragraph.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Trivial/Internal Changes
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
- `#6404 <https://github.com/pytest-dev/pytest/issues/6404>`_: Remove usage of ``parser`` module, deprecated in Python 3.9.
|
||||||
|
|
||||||
|
|
||||||
pytest 5.3.5 (2020-01-29)
|
pytest 5.3.5 (2020-01-29)
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
|
|
|
@ -484,8 +484,11 @@ Running it results in some skips if we don't have all the python interpreters in
|
||||||
.. code-block:: pytest
|
.. code-block:: pytest
|
||||||
|
|
||||||
. $ pytest -rs -q multipython.py
|
. $ pytest -rs -q multipython.py
|
||||||
........................... [100%]
|
ssssssssssss...ssssssssssss [100%]
|
||||||
27 passed in 0.12s
|
========================= short test summary info ==========================
|
||||||
|
SKIPPED [12] $REGENDOC_TMPDIR/CWD/multipython.py:29: 'python3.5' not found
|
||||||
|
SKIPPED [12] $REGENDOC_TMPDIR/CWD/multipython.py:29: 'python3.7' not found
|
||||||
|
3 passed, 24 skipped in 0.12s
|
||||||
|
|
||||||
Indirect parametrization of optional implementations/imports
|
Indirect parametrization of optional implementations/imports
|
||||||
--------------------------------------------------------------------
|
--------------------------------------------------------------------
|
||||||
|
|
|
@ -28,7 +28,7 @@ Install ``pytest``
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ pytest --version
|
$ pytest --version
|
||||||
This is pytest version 5.x.y, imported from $PYTHON_PREFIX/lib/python3.7/site-packages/pytest/__init__.py
|
This is pytest version 5.x.y, imported from $PYTHON_PREFIX/lib/python3.8/site-packages/pytest/__init__.py
|
||||||
|
|
||||||
.. _`simpletest`:
|
.. _`simpletest`:
|
||||||
|
|
||||||
|
|
|
@ -442,8 +442,13 @@ additionally it is possible to copy examples for an example folder before runnin
|
||||||
$REGENDOC_TMPDIR/test_example.py:4: PytestExperimentalApiWarning: testdir.copy_example is an experimental api that may change over time
|
$REGENDOC_TMPDIR/test_example.py:4: PytestExperimentalApiWarning: testdir.copy_example is an experimental api that may change over time
|
||||||
testdir.copy_example("test_example.py")
|
testdir.copy_example("test_example.py")
|
||||||
|
|
||||||
|
test_example.py::test_plugin
|
||||||
|
$PYTHON_PREFIX/lib/python3.8/site-packages/_pytest/terminal.py:287: PytestDeprecationWarning: TerminalReporter.writer attribute is deprecated, use TerminalReporter._tw instead at your own risk.
|
||||||
|
See https://docs.pytest.org/en/latest/deprecations.html#terminalreporter-writer for more information.
|
||||||
|
warnings.warn(
|
||||||
|
|
||||||
-- Docs: https://docs.pytest.org/en/latest/warnings.html
|
-- Docs: https://docs.pytest.org/en/latest/warnings.html
|
||||||
======================= 2 passed, 1 warning in 0.12s =======================
|
====================== 2 passed, 2 warnings in 0.12s =======================
|
||||||
|
|
||||||
For more information about the result object that ``runpytest()`` returns, and
|
For more information about the result object that ``runpytest()`` returns, and
|
||||||
the methods that it provides please check out the :py:class:`RunResult
|
the methods that it provides please check out the :py:class:`RunResult
|
||||||
|
|
Loading…
Reference in New Issue