Skip to content

Commit

Permalink
Merge pull request #13264 from pytest-dev/release-8.3.5
Browse files Browse the repository at this point in the history
Release 8.3.5
  • Loading branch information
nicoddemus authored Mar 2, 2025
2 parents e217726 + b55ab2a commit f004b11
Show file tree
Hide file tree
Showing 19 changed files with 102 additions and 42 deletions.
1 change: 0 additions & 1 deletion changelog/11777.bugfix.rst

This file was deleted.

3 changes: 0 additions & 3 deletions changelog/12842.doc.rst

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

1 change: 0 additions & 1 deletion changelog/13112.contrib.rst

This file was deleted.

2 changes: 0 additions & 2 deletions changelog/13256.contrib.rst

This file was deleted.

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


release-8.3.5
release-8.3.4
release-8.3.3
release-8.3.2
Expand Down
26 changes: 26 additions & 0 deletions doc/en/announce/release-8.3.5.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
pytest-8.3.5
=======================================

pytest 8.3.5 has just been released to PyPI.

This is a bug-fix release, being a drop-in replacement.

The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.

Thanks to all of the contributors to this release:

* Bruno Oliveira
* Florian Bruhin
* John Litborn
* Kenny Y
* Ran Benita
* Sadra Barikbin
* Vincent (Wen Yu) Ge
* delta87
* dongfangtianyu
* mwychung
* 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)


Happy testing,
The pytest Development Team
8 changes: 4 additions & 4 deletions doc/en/builtin.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
Values can be any object handled by the json stdlib module.
capsysbinary -- .../_pytest/capture.py:1006
capsysbinary -- .../_pytest/capture.py:1024
Enable bytes capturing of writes to ``sys.stdout`` and ``sys.stderr``.
The captured output is made available via ``capsysbinary.readouterr()``
Expand All @@ -51,7 +51,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
captured = capsysbinary.readouterr()
assert captured.out == b"hello\n"
capfd -- .../_pytest/capture.py:1034
capfd -- .../_pytest/capture.py:1052
Enable text capturing of writes to file descriptors ``1`` and ``2``.
The captured output is made available via ``capfd.readouterr()`` method
Expand All @@ -69,7 +69,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
captured = capfd.readouterr()
assert captured.out == "hello\n"
capfdbinary -- .../_pytest/capture.py:1062
capfdbinary -- .../_pytest/capture.py:1080
Enable bytes capturing of writes to file descriptors ``1`` and ``2``.
The captured output is made available via ``capfd.readouterr()`` method
Expand All @@ -87,7 +87,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
captured = capfdbinary.readouterr()
assert captured.out == b"hello\n"
capsys -- .../_pytest/capture.py:978
capsys -- .../_pytest/capture.py:996
Enable text capturing of writes to ``sys.stdout`` and ``sys.stderr``.
The captured output is made available via ``capsys.readouterr()`` method
Expand Down
41 changes: 41 additions & 0 deletions doc/en/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,47 @@ with advance notice in the **Deprecations** section of releases.

.. towncrier release notes start
pytest 8.3.5 (2025-03-02)
=========================

Bug fixes
---------

- `#11777 <https://github.com/pytest-dev/pytest/issues/11777>`_: Fixed issue where sequences were still being shortened even with ``-vv`` verbosity.


- `#12888 <https://github.com/pytest-dev/pytest/issues/12888>`_: Fixed broken input when using Python 3.13+ and a ``libedit`` build of Python, such as on macOS or with uv-managed Python binaries from the ``python-build-standalone`` project. This could manifest e.g. by a broken prompt when using ``Pdb``, or seeing empty inputs with manual usage of ``input()`` and suspended capturing.


- `#13026 <https://github.com/pytest-dev/pytest/issues/13026>`_: Fixed :class:`AttributeError` crash when using ``--import-mode=importlib`` when top-level directory same name as another module of the standard library.


- `#13053 <https://github.com/pytest-dev/pytest/issues/13053>`_: Fixed a regression in pytest 8.3.4 where, when using ``--import-mode=importlib``, a directory containing py file with the same name would cause an ``ImportError``


- `#13083 <https://github.com/pytest-dev/pytest/issues/13083>`_: Fixed issue where pytest could crash if one of the collected directories got removed during collection.



Improved documentation
----------------------

- `#12842 <https://github.com/pytest-dev/pytest/issues/12842>`_: Added dedicated page about using types with pytest.

See :ref:`types` for detailed usage.



Contributor-facing changes
--------------------------

- `#13112 <https://github.com/pytest-dev/pytest/issues/13112>`_: Fixed selftest failures in ``test_terminal.py`` with Pygments >= 2.19.0


- `#13256 <https://github.com/pytest-dev/pytest/issues/13256>`_: Support for Towncier versions released in 2024 has been re-enabled
when building Sphinx docs -- by :user:`webknjaz`.


pytest 8.3.4 (2024-12-01)
=========================

Expand Down
15 changes: 8 additions & 7 deletions doc/en/example/parametrize.rst
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ objects, they are still using the default pytest representation:
rootdir: /home/sweet/project
collected 8 items
<Dir parametrize.rst-205>
<Dir parametrize.rst-206>
<Module test_time.py>
<Function test_timedistance_v0[a0-b0-expected0]>
<Function test_timedistance_v0[a1-b1-expected1]>
Expand Down Expand Up @@ -239,7 +239,7 @@ If you just collect tests you'll also nicely see 'advanced' and 'basic' as varia
rootdir: /home/sweet/project
collected 4 items
<Dir parametrize.rst-205>
<Dir parametrize.rst-206>
<Module test_scenarios.py>
<Class TestSampleWithScenarios>
<Function test_demo1[basic]>
Expand Down Expand Up @@ -318,7 +318,7 @@ Let's first see how it looks like at collection time:
rootdir: /home/sweet/project
collected 2 items
<Dir parametrize.rst-205>
<Dir parametrize.rst-206>
<Module test_backends.py>
<Function test_db_initialized[d1]>
<Function test_db_initialized[d2]>
Expand Down Expand Up @@ -503,11 +503,12 @@ Running it results in some skips if we don't have all the python interpreters in
.. code-block:: pytest
. $ pytest -rs -q multipython.py
ssssssssssss...ssssssssssss [100%]
sssssssssssssssssssssssssss [100%]
========================= short test summary info ==========================
SKIPPED [12] multipython.py:67: 'python3.9' not found
SKIPPED [12] multipython.py:67: 'python3.11' not found
3 passed, 24 skipped in 0.12s
SKIPPED [9] multipython.py:67: 'python3.9' not found
SKIPPED [9] multipython.py:67: 'python3.10' not found
SKIPPED [9] multipython.py:67: 'python3.11' not found
27 skipped in 0.12s
Parametrization of optional implementations/imports
---------------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions doc/en/example/pythoncollection.rst
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ The test collection would look like this:
configfile: pytest.ini
collected 2 items
<Dir pythoncollection.rst-206>
<Dir pythoncollection.rst-207>
<Module check_myapp.py>
<Class CheckMyApp>
<Function simple_check>
Expand Down Expand Up @@ -215,7 +215,7 @@ You can always peek at the collection tree without running tests like this:
configfile: pytest.ini
collected 3 items
<Dir pythoncollection.rst-206>
<Dir pythoncollection.rst-207>
<Dir CWD>
<Module pythoncollection.py>
<Function test_function>
Expand Down
18 changes: 9 additions & 9 deletions doc/en/example/reportingdemo.rst
Original file line number Diff line number Diff line change
Expand Up @@ -568,12 +568,12 @@ Here is a nice run of several failures and how ``pytest`` presents things:
E + where False = <built-in method startswith of str object at 0xdeadbeef0027>('456')
E + where <built-in method startswith of str object at 0xdeadbeef0027> = '123'.startswith
E + where '123' = <function TestMoreErrors.test_startswith_nested.<locals>.f at 0xdeadbeef0029>()
E + and '456' = <function TestMoreErrors.test_startswith_nested.<locals>.g at 0xdeadbeef002a>()
E + and '456' = <function TestMoreErrors.test_startswith_nested.<locals>.g at 0xdeadbeef0003>()
failure_demo.py:237: AssertionError
_____________________ TestMoreErrors.test_global_func ______________________
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002b>
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002a>
def test_global_func(self):
> assert isinstance(globf(42), float)
Expand All @@ -584,18 +584,18 @@ Here is a nice run of several failures and how ``pytest`` presents things:
failure_demo.py:240: AssertionError
_______________________ TestMoreErrors.test_instance _______________________
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002c>
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002b>
def test_instance(self):
self.x = 6 * 7
> assert self.x != 42
E assert 42 != 42
E + where 42 = <failure_demo.TestMoreErrors object at 0xdeadbeef002c>.x
E + where 42 = <failure_demo.TestMoreErrors object at 0xdeadbeef002b>.x
failure_demo.py:244: AssertionError
_______________________ TestMoreErrors.test_compare ________________________
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002d>
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002c>
def test_compare(self):
> assert globf(10) < 5
Expand All @@ -605,7 +605,7 @@ Here is a nice run of several failures and how ``pytest`` presents things:
failure_demo.py:247: AssertionError
_____________________ TestMoreErrors.test_try_finally ______________________
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002e>
self = <failure_demo.TestMoreErrors object at 0xdeadbeef002d>
def test_try_finally(self):
x = 1
Expand All @@ -616,7 +616,7 @@ Here is a nice run of several failures and how ``pytest`` presents things:
failure_demo.py:252: AssertionError
___________________ TestCustomAssertMsg.test_single_line ___________________
self = <failure_demo.TestCustomAssertMsg object at 0xdeadbeef002f>
self = <failure_demo.TestCustomAssertMsg object at 0xdeadbeef002e>
def test_single_line(self):
class A:
Expand All @@ -631,7 +631,7 @@ Here is a nice run of several failures and how ``pytest`` presents things:
failure_demo.py:263: AssertionError
____________________ TestCustomAssertMsg.test_multiline ____________________
self = <failure_demo.TestCustomAssertMsg object at 0xdeadbeef0030>
self = <failure_demo.TestCustomAssertMsg object at 0xdeadbeef002f>
def test_multiline(self):
class A:
Expand All @@ -650,7 +650,7 @@ Here is a nice run of several failures and how ``pytest`` presents things:
failure_demo.py:270: AssertionError
___________________ TestCustomAssertMsg.test_custom_repr ___________________
self = <failure_demo.TestCustomAssertMsg object at 0xdeadbeef0031>
self = <failure_demo.TestCustomAssertMsg object at 0xdeadbeef0030>
def test_custom_repr(self):
class JSON:
Expand Down
2 changes: 1 addition & 1 deletion doc/en/example/simple.rst
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ Now we'll get feedback on a bad argument:
$ pytest -q --cmdopt=type3
ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]
pytest: error: argument --cmdopt: invalid choice: 'type3' (choose from 'type1', 'type2')
pytest: error: argument --cmdopt: invalid choice: 'type3' (choose from type1, type2)
If you need to provide more detailed error messages, you can use the
Expand Down
2 changes: 1 addition & 1 deletion doc/en/getting-started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Install ``pytest``
.. code-block:: bash
$ pytest --version
pytest 8.3.4
pytest 8.3.5
.. _`simpletest`:

Expand Down
2 changes: 1 addition & 1 deletion doc/en/how-to/fixtures.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1418,7 +1418,7 @@ Running the above tests results in the following test IDs being used:
rootdir: /home/sweet/project
collected 12 items
<Dir fixtures.rst-225>
<Dir fixtures.rst-227>
<Module test_anothersmtp.py>
<Function test_showhelo[smtp.gmail.com]>
<Function test_showhelo[mail.python.org]>
Expand Down
14 changes: 8 additions & 6 deletions doc/en/reference/reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1988,7 +1988,7 @@ All the command-line flags can be obtained by running ``pytest --help``::
Show cache contents, don't perform collection or
tests. Optional argument: glob (default: '*').
--cache-clear Remove all cache contents at start of test run
--lfnf={all,none}, --last-failed-no-failures={all,none}
--lfnf, --last-failed-no-failures={all,none}
With ``--lf``, determines whether to execute tests
when there are no previously (known) failures or
when no cached ``lastfailed`` data was found.
Expand Down Expand Up @@ -2034,11 +2034,13 @@ All the command-line flags can be obtained by running ``pytest --help``::
Whether code should be highlighted (only if --color
is also enabled). Default: yes.
--pastebin=mode Send failed|all info to bpaste.net pastebin service
--junit-xml=path Create junit-xml style report file at given path
--junit-prefix=str Prepend prefix to classnames in junit-xml output
--junitxml, --junit-xml=path
Create junit-xml style report file at given path
--junitprefix, --junit-prefix=str
Prepend prefix to classnames in junit-xml output

pytest-warnings:
-W PYTHONWARNINGS, --pythonwarnings=PYTHONWARNINGS
-W, --pythonwarnings PYTHONWARNINGS
Set which warnings to report, see -W option of
Python itself
--maxfail=num Exit after first num failures or errors
Expand All @@ -2047,7 +2049,7 @@ All the command-line flags can be obtained by running ``pytest --help``::
--strict-markers Markers not registered in the `markers` section of
the configuration file raise errors
--strict (Deprecated) alias to --strict-markers
-c FILE, --config-file=FILE
-c, --config-file FILE
Load configuration from `FILE` instead of trying to
locate one of the implicit configuration files.
--continue-on-collection-errors
Expand Down Expand Up @@ -2101,7 +2103,7 @@ All the command-line flags can be obtained by running ``pytest --help``::
Store internal tracing debug information in this log
file. This file is opened with 'w' and truncated as
a result, care advised. Default: pytestdebug.log.
-o OVERRIDE_INI, --override-ini=OVERRIDE_INI
-o, --override-ini OVERRIDE_INI
Override ini option with "option=value" style, e.g.
`-o xfail_strict=True -o cache_dir=cache`.
--assert=MODE Control assertion debugging tools.
Expand Down

0 comments on commit f004b11

Please sign in to comment.