Next | Query returned 130 messages, browsing 1 to 10 | Previous

History of commit frequency

CVS Commit History:


   2024-04-30 06:01:25 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test: updated to 8.2.0

pytest 8.2.0 (2024-04-27)

Deprecations

A deprecation warning is now raised when implementations of one of the following \ 
hooks request a deprecated py.path.local parameter instead of the pathlib.Path \ 
parameter which replaced it:

pytest_ignore_collect - the path parameter - use collection_path instead.
pytest_collect_file - the path parameter - use file_path instead.
pytest_pycollect_makemodule - the path parameter - use module_path instead.
pytest_report_header - the startdir parameter - use start_path instead.
pytest_report_collectionfinish - the startdir parameter - use start_path instead.
The replacement parameters are available since pytest 7.0.0. The old parameters \ 
will be removed in pytest 9.0.0.

See py.path.local arguments for hooks replaced with pathlib.Path for more details.

Features

Added support for reading command line arguments from a file using the prefix \ 
character @, like e.g.: pytest @tests.txt. The file must have one argument per \ 
line.

See Read arguments from file for details.

Improvements

pytest.importorskip() will now issue a warning if the module could be found, but \ 
raised ImportError instead of ModuleNotFoundError.

The warning can be suppressed by passing exc_type=ImportError to \ 
pytest.importorskip().

See pytest.importorskip default behavior regarding ImportError for details.

For unittest-based tests, exceptions during class cleanup (as raised by \ 
functions registered with TestCase.addClassCleanup) are now reported instead of \ 
silently failing.

Text is no longer truncated in the short test summary info section when -vv is given.

Improved namespace packages detection when consider_namespace_packages is \ 
enabled, covering more situations (like editable installs).

Added PYTEST_VERSION environment variable which is defined at the start of the \ 
pytest session and undefined afterwards. It contains the value of \ 
pytest.__version__, and among other things can be used to easily check if code \ 
is running from within a pytest run.

Bug Fixes

Fixed a regression in pytest 8.0.0 where test classes containing setup_method \ 
and tests using @staticmethod or @classmethod would crash with AttributeError: \ 
'NoneType' object has no attribute 'setup_method'.

Now the request.instance attribute of tests using @staticmethod and @classmethod \ 
is no longer None, but a fresh instance of the class, like in non-static \ 
methods. Previously it was None, and all fixtures of such tests would share a \ 
single self.

Fixed issue where fixtures adding their finalizer multiple times to fixtures \ 
they request would cause unreliable and non-intuitive teardown ordering in some \ 
instances.

Fixed a bug with --importmode=importlib and --doctest-modules where child \ 
modules did not appear as attributes in parent modules.

Fixed some instances where teardown of higher-scoped fixtures was not happening \ 
in the reverse order they were initialized in.

Trivial/Internal Changes

pluggy>=1.5.0 is now required.
cache: create supporting files (CACHEDIR.TAG, .gitignore, etc.) in a temporary \ 
directory to provide atomic semantics.
   2024-04-26 21:56:28 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test: updated to 8.1.2

pytest 8.1.2 (2024-04-26)
Bug Fixes
Fixed error in pytest.approx() when used with numpy arrays and comparing with \ 
other types.
   2024-03-21 09:27:17 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-test: updated to 8.1.1

pytest 8.1.1 (2024-03-08)
=========================

This release is not a usual bug fix release -- it contains features and \ 
improvements, being a follow up
to ``8.1.0``, which has been yanked from PyPI.

Features
--------

- Added the new :confval:`consider_namespace_packages` configuration option, \ 
defaulting to ``False``.

  If set to ``True``, pytest will attempt to identify modules that are part of \ 
`namespace packages \ 
<https://packaging.python.org/en/latest/guides/packaging-namespace-packages>`__ \ 
when importing modules.

- Added the new :confval:`verbosity_test_cases` configuration option for \ 
fine-grained control of test execution verbosity.
  See :ref:`Fine-grained verbosity <pytest.fine_grained_verbosity>` for \ 
more details.

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

- :func:`pytest.warns` now validates that :func:`warnings.warn` was called with \ 
a `str` or a `Warning`.
  Currently in Python it is possible to use other types, however this causes an \ 
exception when :func:`warnings.filterwarnings` is used to filter those warnings.
  While this can be considered a bug in CPython, we decided to put guards in \ 
pytest as the error message produced without this check in place is confusing.

- When using ``--override-ini`` for paths in invocations without a configuration \ 
file defined, the current working directory is used
  as the relative directory.

  Previoulsy this would raise an :class:`AssertionError`.

- :ref:`--import-mode=importlib <import-mode-importlib>` now tries to \ 
import modules using the standard import mechanism (but still without changing \ 
:py:data:`sys.path`), falling back to importing modules directly only if that \ 
fails.

  This means that installed packages will be imported under their canonical name \ 
if possible first, for example ``app.core.models``, instead of having the module \ 
name always be derived from their path (for example \ 
``.env310.lib.site_packages.app.core.models``).

- Added the :func:`iter_parents() <_pytest.nodes.Node.iter_parents>` \ 
helper method on nodes.
  It is similar to :func:`listchain <_pytest.nodes.Node.listchain>`, but \ 
goes from bottom to top, and returns an iterator, not a list.

- Added support for :data:`sys.last_exc` for post-mortem debugging on \ 
Python>=3.12.

- In case no other suitable candidates for configuration file are found, a \ 
``pyproject.toml`` (even without a ``[tool.pytest.ini_options]`` table) will be \ 
considered as the configuration file and define the ``rootdir``.

- Add ``--log-file-mode`` option to the logging plugin, enabling appending to \ 
log-files. This option accepts either ``"w"`` or ``"a"`` and \ 
defaults to ``"w"``.

  Previously, the mode was hard-coded to be ``"w"`` which truncates \ 
the file before logging.

- When multiple finalizers of a fixture raise an exception, now all exceptions \ 
are reported as an exception group.
  Previously, only the first exception was reported.

Bug Fixes
---------

- Fixed regression where ``--importmode=importlib`` would import non-test \ 
modules more than once.

- Fixed a regression in pytest 8.0.0 that would cause test collection to fail \ 
due to permission errors when using ``--pyargs``.

  This change improves the collection tree for tests specified using \ 
``--pyargs``, see :pull:`12043` for a comparison with pytest 8.0 and <8.

- Fixed a regression in 8.0.1 whereby ``setup_module`` xunit-style fixtures are \ 
not executed when ``--doctest-modules`` is passed.

- Fix the ``stacklevel`` used when warning about marks used on fixtures.

- Fixed a regression in ``8.0.2`` where tests created using :fixture:`tmp_path` \ 
have been collected multiple times in CI under Windows.

Improved Documentation
----------------------

- Documented the retention of temporary directories created using the \ 
``tmp_path`` fixture in more detail.

Trivial/Internal Changes
------------------------

- Some changes were made to private functions which may affect plugins which \ 
access them:

  - ``FixtureManager._getautousenames()`` now takes a ``Node`` itself instead of \ 
the nodeid.
  - ``FixtureManager.getfixturedefs()`` now takes the ``Node`` itself instead of \ 
the nodeid.
  - The ``_pytest.nodes.iterparentnodeids()`` function is removed without \ 
replacement.
    Prefer to traverse the node hierarchy itself instead.
    If you really need to, copy the function from the previous pytest release.

- Delayed the deprecation of the following features to ``9.0.0``:

  * :ref:`node-ctor-fspath-deprecation`.
  * :ref:`legacy-path-hooks-deprecated`.

  It was discovered after ``8.1.0`` was released that the warnings about the \ 
impeding removal were not being displayed, so the team decided to revert the \ 
removal.

  This is the reason for ``8.1.0`` being yanked.
   2024-02-25 23:40:02 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test: updated to 8.0.2

pytest 8.0.2 (2024-02-24)

Bug Fixes

- Fix collection on Windows where initial paths contain the short version of a \ 
path (for example ``c:\PROGRA~1\tests``).
- Fix an ``IndexError`` crash raising from ``getstatementrange_ast``.
- Reverted a fix to `--maxfail` handling in pytest 8.0.0 because it caused a \ 
regression in pytest-xdist whereby session fixture teardowns may get executed \ 
multiple times when the max-fails is reached.
   2024-02-17 03:10:00 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test: updated to 8.0.1

pytest 8.0.1 (2024-02-16)

Bug Fixes

- Correctly handle errors from :func:`getpass.getuser` in Python 3.13.
- Fix an edge case where ``ExceptionInfo._stringify_exception`` could crash \ 
:func:`pytest.raises`.
- Fix regression with :func:`pytest.warns` using custom warning subclasses which \ 
have more than one parameter in their `__init__`.
- Fix a regression in pytest 8.0.0 whereby calling :func:`pytest.skip` and \ 
similar control-flow exceptions within a :func:`pytest.warns()` block would get \ 
suppressed instead of propagating.
- Fix a regression in pytest 8.0.0 whereby autouse fixtures defined in a module \ 
get ignored by the doctests in the module.
- Fix a regression in pytest 8.0.0 whereby items would be collected in reverse \ 
order in some circumstances.
   2024-02-02 17:19:52 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-test: updated to 8.0.0

pytest 8.0.0 (2024-01-27)
Bug Fixes
* Properly escape the reason of a skip mark when writing JUnit XML files.
* Avoid microsecond exceeds 1_000_000 when using log-date-format with %f \ 
specifier, which might cause the test suite to crash.

https://docs.pytest.org/en/stable/changelog.html
   2023-12-31 20:11:55 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-test: updated to 7.4.4

pytest 7.4.4 (2023-12-31)

Bug Fixes

- Fix non-string constants at the top of file being detected as docstrings on \ 
Python>=3.8.
- Handle an edge case where :data:`sys.stderr` and :data:`sys.__stderr__` might \ 
already be closed when :ref:`faulthandler` is tearing down.
- Fixed tracebacks from collection errors not getting pruned.
- Removed unhelpful error message from assertion rewrite mechanism when \ 
exceptions are raised in ``__iter__`` methods. Now they are treated un-iterable \ 
instead.

Improved Documentation

- Updated documentation to refer to hyphenated options: replaced ``--junitxml`` \ 
with ``--junit-xml`` and ``--collectonly`` with ``--collect-only``.
   2023-10-25 10:37:18 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test: updated to 7.4.3

pytest 7.4.3 (2023-10-24)

Bug Fixes

- Markers are now considered in the reverse mro order to ensure base  class \ 
markers are considered first -- this resolves a regression.
- Fixed ``:=`` in asserts impacting unrelated test cases.
- Handled an edge case where :data:`sys.stderr` might already be closed when \ 
:ref:`faulthandler` is tearing down.
   2023-09-08 08:26:04 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test: updated to 7.4.2

pytest 7.4.2 (2023-09-07)
=========================

Bug Fixes
---------
- Fix doctest collection of `functools.cached_property` objects.
- Fixed bug using ``--importmode=importlib`` which would cause package \ 
``__init__.py`` files to be imported more than once in some cases.
- Fixed bug where `user_properties` where not being saved in the JUnit XML file \ 
if a fixture failed during teardown.
- Fixed crash when parsing long command line arguments that might be interpreted \ 
as files.

Improved Documentation
----------------------
- Improved disclaimer on pytest plugin reference page to better indicate this is \ 
an automated, non-curated listing.
   2023-09-05 20:58:32 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-test: updated to 7.4.1

pytest 7.4.1 (2023-09-02)
=========================

Bug Fixes
---------
- Fixed bug where fake intermediate modules generated by \ 
``--import-mode=importlib`` would not include the
  child modules as attributes of the parent modules.
- Fixed error assertion handling in :func:`pytest.approx` when ``None`` is an \ 
expected or received value when comparing dictionaries.
- Fixed issue when using ``--import-mode=importlib`` together with \ 
``--doctest-modules`` that caused modules
  to be imported more than once, causing problems with modules that have import \ 
side effects.

Next | Query returned 130 messages, browsing 1 to 10 | Previous