parent
							
								
									64319dbc01
								
							
						
					
					
						commit
						d9bf9dbec1
					
				| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Terminal Reporting: Fixed bug when running in ``--tb=line`` mode where ``pytest.fail(pytrace=False)`` tests report ``None``.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Update test log report annotation to named tuple and fixed inconsistency in docs for :hook:`pytest_report_teststatus` hook.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,2 +0,0 @@
 | 
				
			||||||
Added :func:`ExceptionInfo.from_exception() <pytest.ExceptionInfo.from_exception>`, a simpler way to create an :class:`~pytest.ExceptionInfo` from an exception.
 | 
					 | 
				
			||||||
This can replace :func:`ExceptionInfo.from_exc_info() <pytest.ExceptionInfo.from_exc_info()>` for most uses.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,5 +0,0 @@
 | 
				
			||||||
When an exception traceback to be displayed is completely filtered out (by mechanisms such as ``__tracebackhide__``, internal frames, and similar), now only the exception string and the following message are shown:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
"All traceback entries are hidden. Pass `--full-trace` to see hidden and internal frames.".
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Previously, the last frame of the traceback was shown, even though it was hidden.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +0,0 @@
 | 
				
			||||||
Improved verbose output (``-vv``) of ``skip`` and ``xfail`` reasons by performing text wrapping while leaving a clear margin for progress output.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Added :func:`TerminalReporter.wrap_write() <pytest.TerminalReporter.wrap_write>` as a helper for that.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Added handling of ``%f`` directive to print microseconds in log format options, such as ``log-date-format``.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Added underlying exception to cache provider path creation and write warning messages.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Added warning when :confval:`testpaths` is set, but paths are not found by glob. In this case, pytest will fall back to searching from the current directory.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Enhanced the CLI flag for ``-c`` to now include ``--config-file`` to make it clear that this flag applies to the usage of a custom config file.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +0,0 @@
 | 
				
			||||||
When `--confcutdir` is not specified, and there is no config file present, the conftest cutoff directory (`--confcutdir`) is now set to the :ref:`rootdir`.
 | 
					 | 
				
			||||||
Previously in such cases, `conftest.py` files would be probed all the way to the root directory of the filesystem.
 | 
					 | 
				
			||||||
If you are badly affected by this change, consider adding an empty config file to your desired cutoff directory, or explicitly set `--confcutdir`.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Fixed the ``--last-failed`` whole-file skipping functionality ("skipped N files") for :ref:`non-python test files <non-python tests>`.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,7 +0,0 @@
 | 
				
			||||||
The :confval:`norecursedir` check is now performed in a :hook:`pytest_ignore_collect` implementation, so plugins can affect it.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
If after updating to this version you see that your `norecursedir` setting is not being respected,
 | 
					 | 
				
			||||||
it means that a conftest or a plugin you use has a bad `pytest_ignore_collect` implementation.
 | 
					 | 
				
			||||||
Most likely, your hook returns `False` for paths it does not want to ignore,
 | 
					 | 
				
			||||||
which ends the processing and doesn't allow other plugins, including pytest itself, to ignore the path.
 | 
					 | 
				
			||||||
The fix is to return `None` instead of `False` for paths your hook doesn't want to ignore.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +0,0 @@
 | 
				
			||||||
Fixed a regression in pytest 7.3.2 which caused to :confval:`testpaths` to be considered for loading initial conftests,
 | 
					 | 
				
			||||||
even when it was not utilized (e.g. when explicit paths were given on the command line).
 | 
					 | 
				
			||||||
Now the ``testpaths`` are only considered when they are in use.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Fixed traceback entries hidden with ``__tracebackhide__ = True`` still being shown for chained exceptions (parts after "... the above exception ..." message).
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Fix writing non-encodable text to log file when using ``--debug``.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +0,0 @@
 | 
				
			||||||
:func:`_pytest.logging.LogCaptureFixture.set_level` and :func:`_pytest.logging.LogCaptureFixture.at_level`
 | 
					 | 
				
			||||||
will temporarily enable the requested ``level`` if ``level`` was disabled globally via
 | 
					 | 
				
			||||||
``logging.disable(LEVEL)``.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Improve Documentation for `caplog.set_level`.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -6,6 +6,7 @@ Release announcements
 | 
				
			||||||
   :maxdepth: 2
 | 
					   :maxdepth: 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   release-7.4.0
 | 
				
			||||||
   release-7.3.2
 | 
					   release-7.3.2
 | 
				
			||||||
   release-7.3.1
 | 
					   release-7.3.1
 | 
				
			||||||
   release-7.3.0
 | 
					   release-7.3.0
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,49 @@
 | 
				
			||||||
 | 
					pytest-7.4.0
 | 
				
			||||||
 | 
					=======================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The pytest team is proud to announce the 7.4.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:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Adam J. Stewart
 | 
				
			||||||
 | 
					* Alessio Izzo
 | 
				
			||||||
 | 
					* Alex
 | 
				
			||||||
 | 
					* Alex Lambson
 | 
				
			||||||
 | 
					* Brian Larsen
 | 
				
			||||||
 | 
					* Bruno Oliveira
 | 
				
			||||||
 | 
					* Bryan Ricker
 | 
				
			||||||
 | 
					* Chris Mahoney
 | 
				
			||||||
 | 
					* Facundo Batista
 | 
				
			||||||
 | 
					* Florian Bruhin
 | 
				
			||||||
 | 
					* Jarrett Keifer
 | 
				
			||||||
 | 
					* Kenny Y
 | 
				
			||||||
 | 
					* Miro Hrončok
 | 
				
			||||||
 | 
					* Ran Benita
 | 
				
			||||||
 | 
					* Roberto Aldera
 | 
				
			||||||
 | 
					* Ronny Pfannschmidt
 | 
				
			||||||
 | 
					* Sergey Kim
 | 
				
			||||||
 | 
					* Stefanie Molin
 | 
				
			||||||
 | 
					* Vijay Arora
 | 
				
			||||||
 | 
					* Ville Skyttä
 | 
				
			||||||
 | 
					* Zac Hatfield-Dodds
 | 
				
			||||||
 | 
					* bzoracler
 | 
				
			||||||
 | 
					* leeyueh
 | 
				
			||||||
 | 
					* nondescryptid
 | 
				
			||||||
 | 
					* theirix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Happy testing,
 | 
				
			||||||
 | 
					The pytest Development Team
 | 
				
			||||||
| 
						 | 
					@ -22,7 +22,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
 | 
				
			||||||
    cachedir: .pytest_cache
 | 
					    cachedir: .pytest_cache
 | 
				
			||||||
    rootdir: /home/sweet/project
 | 
					    rootdir: /home/sweet/project
 | 
				
			||||||
    collected 0 items
 | 
					    collected 0 items
 | 
				
			||||||
    cache -- .../_pytest/cacheprovider.py:510
 | 
					    cache -- .../_pytest/cacheprovider.py:528
 | 
				
			||||||
        Return a cache object that can persist state between testing sessions.
 | 
					        Return a cache object that can persist state between testing sessions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        cache.get(key, default)
 | 
					        cache.get(key, default)
 | 
				
			||||||
| 
						 | 
					@ -119,7 +119,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        For more details: :ref:`doctest_namespace`.
 | 
					        For more details: :ref:`doctest_namespace`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pytestconfig [session scope] -- .../_pytest/fixtures.py:1360
 | 
					    pytestconfig [session scope] -- .../_pytest/fixtures.py:1353
 | 
				
			||||||
        Session-scoped fixture that returns the session's :class:`pytest.Config`
 | 
					        Session-scoped fixture that returns the session's :class:`pytest.Config`
 | 
				
			||||||
        object.
 | 
					        object.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -196,7 +196,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
 | 
					        .. _legacy_path: https://py.readthedocs.io/en/latest/path.html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    caplog -- .../_pytest/logging.py:498
 | 
					    caplog -- .../_pytest/logging.py:570
 | 
				
			||||||
        Access and control log capturing.
 | 
					        Access and control log capturing.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Captured logs are available through the following properties/methods::
 | 
					        Captured logs are available through the following properties/methods::
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,6 +28,98 @@ with advance notice in the **Deprecations** section of releases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. towncrier release notes start
 | 
					.. towncrier release notes start
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pytest 7.4.0 (2023-06-23)
 | 
				
			||||||
 | 
					=========================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Features
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#10901 <https://github.com/pytest-dev/pytest/issues/10901>`_: Added :func:`ExceptionInfo.from_exception() <pytest.ExceptionInfo.from_exception>`, a simpler way to create an :class:`~pytest.ExceptionInfo` from an exception.
 | 
				
			||||||
 | 
					  This can replace :func:`ExceptionInfo.from_exc_info() <pytest.ExceptionInfo.from_exc_info()>` for most uses.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Improvements
 | 
				
			||||||
 | 
					------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#10872 <https://github.com/pytest-dev/pytest/issues/10872>`_: Update test log report annotation to named tuple and fixed inconsistency in docs for :hook:`pytest_report_teststatus` hook.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#10907 <https://github.com/pytest-dev/pytest/issues/10907>`_: When an exception traceback to be displayed is completely filtered out (by mechanisms such as ``__tracebackhide__``, internal frames, and similar), now only the exception string and the following message are shown:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  "All traceback entries are hidden. Pass `--full-trace` to see hidden and internal frames.".
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Previously, the last frame of the traceback was shown, even though it was hidden.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#10940 <https://github.com/pytest-dev/pytest/issues/10940>`_: Improved verbose output (``-vv``) of ``skip`` and ``xfail`` reasons by performing text wrapping while leaving a clear margin for progress output.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Added ``TerminalReporter.wrap_write()`` as a helper for that.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#10991 <https://github.com/pytest-dev/pytest/issues/10991>`_: Added handling of ``%f`` directive to print microseconds in log format options, such as ``log-date-format``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#11005 <https://github.com/pytest-dev/pytest/issues/11005>`_: Added the underlying exception to the cache provider's path creation and write warning messages.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#11013 <https://github.com/pytest-dev/pytest/issues/11013>`_: Added warning when :confval:`testpaths` is set, but paths are not found by glob. In this case, pytest will fall back to searching from the current directory.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#11043 <https://github.com/pytest-dev/pytest/issues/11043>`_: When `--confcutdir` is not specified, and there is no config file present, the conftest cutoff directory (`--confcutdir`) is now set to the :ref:`rootdir <rootdir>`.
 | 
				
			||||||
 | 
					  Previously in such cases, `conftest.py` files would be probed all the way to the root directory of the filesystem.
 | 
				
			||||||
 | 
					  If you are badly affected by this change, consider adding an empty config file to your desired cutoff directory, or explicitly set `--confcutdir`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#11081 <https://github.com/pytest-dev/pytest/issues/11081>`_: The :confval:`norecursedirs` check is now performed in a :hook:`pytest_ignore_collect` implementation, so plugins can affect it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  If after updating to this version you see that your `norecursedirs` setting is not being respected,
 | 
				
			||||||
 | 
					  it means that a conftest or a plugin you use has a bad `pytest_ignore_collect` implementation.
 | 
				
			||||||
 | 
					  Most likely, your hook returns `False` for paths it does not want to ignore,
 | 
				
			||||||
 | 
					  which ends the processing and doesn't allow other plugins, including pytest itself, to ignore the path.
 | 
				
			||||||
 | 
					  The fix is to return `None` instead of `False` for paths your hook doesn't want to ignore.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#8711 <https://github.com/pytest-dev/pytest/issues/8711>`_: :func:`caplog.set_level() <pytest.LogCaptureFixture.set_level>` and :func:`caplog.at_level() <pytest.LogCaptureFixture.at_level>`
 | 
				
			||||||
 | 
					  will temporarily enable the requested ``level`` if ``level`` was disabled globally via
 | 
				
			||||||
 | 
					  ``logging.disable(LEVEL)``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Bug Fixes
 | 
				
			||||||
 | 
					---------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#10831 <https://github.com/pytest-dev/pytest/issues/10831>`_: Terminal Reporting: Fixed bug when running in ``--tb=line`` mode where ``pytest.fail(pytrace=False)`` tests report ``None``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#11068 <https://github.com/pytest-dev/pytest/issues/11068>`_: Fixed the ``--last-failed`` whole-file skipping functionality ("skipped N files") for :ref:`non-python test files <non-python tests>`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#11104 <https://github.com/pytest-dev/pytest/issues/11104>`_: Fixed a regression in pytest 7.3.2 which caused to :confval:`testpaths` to be considered for loading initial conftests,
 | 
				
			||||||
 | 
					  even when it was not utilized (e.g. when explicit paths were given on the command line).
 | 
				
			||||||
 | 
					  Now the ``testpaths`` are only considered when they are in use.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#1904 <https://github.com/pytest-dev/pytest/issues/1904>`_: Fixed traceback entries hidden with ``__tracebackhide__ = True`` still being shown for chained exceptions (parts after "... the above exception ..." message).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#7781 <https://github.com/pytest-dev/pytest/issues/7781>`_: Fix writing non-encodable text to log file when using ``--debug``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Improved Documentation
 | 
				
			||||||
 | 
					----------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#9146 <https://github.com/pytest-dev/pytest/issues/9146>`_: Improved documentation for :func:`caplog.set_level() <pytest.LogCaptureFixture.set_level>`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Trivial/Internal Changes
 | 
				
			||||||
 | 
					------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `#11031 <https://github.com/pytest-dev/pytest/issues/11031>`_: Enhanced the CLI flag for ``-c`` to now include ``--config-file`` to make it clear that this flag applies to the usage of a custom config file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pytest 7.3.2 (2023-06-10)
 | 
					pytest 7.3.2 (2023-06-10)
 | 
				
			||||||
=========================
 | 
					=========================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,7 +22,7 @@ Install ``pytest``
 | 
				
			||||||
.. code-block:: bash
 | 
					.. code-block:: bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $ pytest --version
 | 
					    $ pytest --version
 | 
				
			||||||
    pytest 7.3.2
 | 
					    pytest 7.4.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. _`simpletest`:
 | 
					.. _`simpletest`:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1923,9 +1923,9 @@ All the command-line flags can be obtained by running ``pytest --help``::
 | 
				
			||||||
      --strict-markers      Markers not registered in the `markers` section of
 | 
					      --strict-markers      Markers not registered in the `markers` section of
 | 
				
			||||||
                            the configuration file raise errors
 | 
					                            the configuration file raise errors
 | 
				
			||||||
      --strict              (Deprecated) alias to --strict-markers
 | 
					      --strict              (Deprecated) alias to --strict-markers
 | 
				
			||||||
      -c, --config-file FILE
 | 
					      -c FILE, --config-file=FILE
 | 
				
			||||||
                            Load configuration from `FILE` instead of trying to
 | 
					                            Load configuration from `FILE` instead of trying to
 | 
				
			||||||
                            locate one of the implicit configuration files
 | 
					                            locate one of the implicit configuration files.
 | 
				
			||||||
      --continue-on-collection-errors
 | 
					      --continue-on-collection-errors
 | 
				
			||||||
                            Force test execution even if collection errors occur
 | 
					                            Force test execution even if collection errors occur
 | 
				
			||||||
      --rootdir=ROOTDIR     Define root directory for tests. Can be relative
 | 
					      --rootdir=ROOTDIR     Define root directory for tests. Can be relative
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue