--- - branch: MAIN date: Thu Oct 22 09:45:20 UTC 2020 files: - new: '1.96' old: '1.95' path: pkgsrc/devel/py-test/Makefile pathrev: pkgsrc/devel/py-test/Makefile@1.96 type: modified - new: '1.19' old: '1.18' path: pkgsrc/devel/py-test/PLIST pathrev: pkgsrc/devel/py-test/PLIST@1.19 type: modified - new: '1.83' old: '1.82' path: pkgsrc/devel/py-test/distinfo pathrev: pkgsrc/devel/py-test/distinfo@1.83 type: modified id: 20201022T094520Z.d7d63f6c6404c93e9de3a8adfd71e39414ed0d36 log: | py-test: updated to 6.1.1 pytest 6.1.1 (2020-10-03) ========================= Bug Fixes --------- - Fixed regression in pytest 6.1.0 causing incorrect rootdir to be determined in some non-trivial cases where parent directories have config files as well. - Fixed crash in header reporting when :confval:`testpaths` is used and contains absolute paths (regression in 6.1.0). pytest 6.1.0 (2020-09-26) ========================= Breaking Changes ---------------- - As per our policy, the following features which have been deprecated in the 5.X series are now removed: * The ``funcargnames`` read-only property of ``FixtureRequest``, ``Metafunc``, and ``Function`` classes. Use ``fixturenames`` attribute. * ``@pytest.fixture`` no longer supports positional arguments, pass all arguments by keyword instead. * Direct construction of ``Node`` subclasses now raise an error, use ``from_parent`` instead. * The default value for ``junit_family`` has changed to ``xunit2``. If you require the old format, add ``junit_family=xunit1`` to your configuration file. * The ``TerminalReporter`` no longer has a ``writer`` attribute. Plugin authors may use the public functions of the ``TerminalReporter`` instead of accessing the ``TerminalWriter`` object directly. * The ``--result-log`` option has been removed. Users are recommended to use the `pytest-reportlog `__ plugin instead. For more information consult `Deprecations and Removals `__ in the docs. Deprecations ------------ - The ``pytest.collect`` module is deprecated: all its names can be imported from ``pytest`` directly. - The ``pytest._fillfuncargs`` function is deprecated. This function was kept for backward compatibility with an older plugin. It's functionality is not meant to be used directly, but if you must replace it, use `function._request._fillfixtures()` instead, though note this is not a public API and may break in the future. - The special ``-k '-expr'`` syntax to ``-k`` is deprecated. Use ``-k 'not expr'`` instead. The special ``-k 'expr:'`` syntax to ``-k`` is deprecated. Please open an issue if you use this and want a replacement. - The :func:`pytest_warning_captured <_pytest.hookspec.pytest_warning_captured>` hook is deprecated in favor of :func:`pytest_warning_recorded <_pytest.hookspec.pytest_warning_recorded>`, and will be removed in a future version. - The ``gethookproxy()`` and ``isinitpath()`` methods of ``FSCollector`` and ``Package`` are deprecated; use ``self.session.gethookproxy()`` and ``self.session.isinitpath()`` instead. This should work on all pytest versions. Features -------- - New ``--durations-min`` command-line flag controls the minimal duration for inclusion in the slowest list of tests shown by ``--durations``. Previously this was hard-coded to ``0.005s``. Improvements ------------ - Internal pytest warnings issued during the early stages of initialization are now properly handled and can filtered through :confval:`filterwarnings` or ``--pythonwarnings/-W``. - When a plugin listed in ``required_plugins`` is missing or an unknown config key is used with ``--strict-config``, a simple error message is now shown instead of a stacktrace. - Added two new attributes :attr:`rootpath <_pytest.config.Config.rootpath>` and :attr:`inipath <_pytest.config.Config.inipath>` to :class:`Config <_pytest.config.Config>`. These attributes are :class:`pathlib.Path` versions of the existing :attr:`rootdir <_pytest.config.Config.rootdir>` and :attr:`inifile <_pytest.config.Config.inifile>` attributes, and should be preferred over them when possible. - Public classes which are not designed to be inherited from are now marked `@final `_. Code which inherits from these classes will trigger a type-checking (e.g. mypy) error, but will still work in runtime. Currently the ``final`` designation does not appear in the API Reference but hopefully will in the future. Bug Fixes --------- - Fixed error when overwriting a parametrized fixture, while also reusing the super fixture value. .. code-block:: python # conftest.py import pytest @pytest.fixture(params=[1, 2]) def foo(request): return request.param # test_foo.py import pytest @pytest.fixture def foo(foo): return foo * 2 - Fixed an internal error crash with ``IndexError: list index out of range`` when collecting a module which starts with a decorated function, the decorator raises, and assertion rewriting is enabled. - pylint shouldn't complain anymore about unimplemented abstract methods when inheriting from :ref:`File `. - Fixed test collection when a full path without a drive letter was passed to pytest on Windows (for example ``\projects\tests\test.py`` instead of ``c:\projects\tests\pytest.py``). - Fix handling of command-line options that appear as paths but trigger an OS-level syntax error on Windows, such as the options used internally by ``pytest-xdist``. - Fixed INTERNALERROR when accessing locals / globals with faulty ``exec``. Improved Documentation ---------------------- - Removed faq.rst and its reference in contents.rst. Trivial/Internal Changes ------------------------ - The internal ``junitxml`` plugin has rewritten to use ``xml.etree.ElementTree``. The order of attributes in XML elements might differ. Some unneeded escaping is no longer performed. - The dependency on the ``more-itertools`` package has been removed. - The result type of :meth:`capfd.readouterr() <_pytest.capture.CaptureFixture.readouterr>` (and similar) is no longer a namedtuple, but should behave like one in all respects. This was done for technical reasons. - When collecting tests, pytest finds test classes and functions by examining the attributes of python objects (modules, classes and instances). To speed up this process, pytest now ignores builtin attributes (like ``__class__``, ``__delattr__`` and ``__new__``) without consulting the :confval:`python_classes` and :confval:`python_functions` configuration options and without passing them to plugins using the :func:`pytest_pycollect_makeitem <_pytest.hookspec.pytest_pycollect_makeitem>` hook. module: pkgsrc subject: 'CVS commit: pkgsrc/devel/py-test' unixtime: '1603359920' user: adam