From 45fb53354c93edef8086d3087153641b6a0f4875df8eb028a05ff646f500fae6 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Mon, 23 Jun 2025 05:48:18 +0000 Subject: [PATCH] Accepting request 1287140 from home:mcalabkova:branches:devel:languages:python:pytest - Update to 1.6.0 * Fix a regression in pluggy 1.1.0 where using result.get_result() on the same failed pluggy.Result causes the exception's traceback to get longer and longer. * Correctly pass StopIteration through hook wrappers. * Fix python 3.14 SyntaxError by rearranging code. * Python 3.8 is no longer supported. OBS-URL: https://build.opensuse.org/request/show/1287140 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pluggy?expand=0&rev=32 --- .gitattributes | 23 ++++ .gitignore | 1 + _multibuild | 3 + pluggy-1.5.0.tar.gz | 3 + pluggy-1.6.0.tar.gz | 3 + python-pluggy.changes | 286 ++++++++++++++++++++++++++++++++++++++++++ python-pluggy.spec | 77 ++++++++++++ 7 files changed, 396 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _multibuild create mode 100644 pluggy-1.5.0.tar.gz create mode 100644 pluggy-1.6.0.tar.gz create mode 100644 python-pluggy.changes create mode 100644 python-pluggy.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..fcc7b97 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/pluggy-1.5.0.tar.gz b/pluggy-1.5.0.tar.gz new file mode 100644 index 0000000..29e6735 --- /dev/null +++ b/pluggy-1.5.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 +size 67955 diff --git a/pluggy-1.6.0.tar.gz b/pluggy-1.6.0.tar.gz new file mode 100644 index 0000000..43e875e --- /dev/null +++ b/pluggy-1.6.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3 +size 69412 diff --git a/python-pluggy.changes b/python-pluggy.changes new file mode 100644 index 0000000..9ba1718 --- /dev/null +++ b/python-pluggy.changes @@ -0,0 +1,286 @@ +------------------------------------------------------------------- +Fri Jun 20 05:17:13 UTC 2025 - Markéta Machová + +- Update to 1.6.0 + * Fix a regression in pluggy 1.1.0 where using result.get_result() + on the same failed pluggy.Result causes the exception's traceback + to get longer and longer. + * Correctly pass StopIteration through hook wrappers. + * Fix python 3.14 SyntaxError by rearranging code. + * Python 3.8 is no longer supported. + +------------------------------------------------------------------- +Mon May 6 05:24:03 UTC 2024 - Steve Kowalik + +- Update to 1.5.0: + * Features + + Add support for deprecating specific hook parameters, or more + generally, for issuing a warning whenever a hook implementation + requests certain parameters. + + A warning ~pluggy.PluggyTeardownRaisedWarning is now issued when an + old-style hookwrapper raises an exception during teardown. + + Add PluginManager.unblock method to + unblock a plugin by plugin name. + * Bug Fixes + + PluginManager.get_plugins() no longer returns None for blocked plugins. + + Fix ~pluggy.HookCaller.call_extra() extra methods getting ordered + before everything else in some circumstances. Regressed in pluggy 1.1.0. + + Fix plugins registering other plugins in a hook when the other plugins + implement the same hook itself. Regressed in pluggy 1.1.0. +- Switch to pyproject macros. + +------------------------------------------------------------------- +Tue Feb 20 19:49:28 UTC 2024 - Ben Greiner + +- Revert to 1.3.0 + * Pytest 7 is not compatible with pluggy 1.4 but many packages + are not compatible with pytest 8 yet + +------------------------------------------------------------------- +Thu Feb 1 21:25:16 UTC 2024 - Dirk Müller + +- update to 1.4.0: + * A warning :class:`~pluggy.PluggyTeardownRaisedWarning` + is now issued when an old-style hookwrapper raises an + exception during teardown. See the warning documentation for + more details. + * Add :func:`PluginManager.unblock + ` method to unblock a plugin by + plugin name. + * Fix :func:`~pluggy.HookCaller.call_extra()` extra + methods getting ordered before everything else in some + circumstances. Regressed in pluggy 1.1.0. + * Fix plugins registering other plugins in a hook when + the other plugins implement the same hook itself. Regressed + in pluggy 1.1.0. + +------------------------------------------------------------------- +Tue Nov 7 20:23:11 UTC 2023 - Dirk Müller + +- update to 1.3.0: + * Python 3.7 is no longer supported. + * Pluggy now exposes its typings to static type checkers. + * Some fields and classes are marked ``Final`` and ``@final``. + * The :ref:`api-reference` is updated to clearly delineate + pluggy's public API. + Compatibility aliases are put in place for the renamed types. + Please note that pluggy is currently unable to provide strong + typing for hook calls, e.g. ``pm.hook.my_hook(...)``, + nor to statically check that a hook implementation matches + the hook specification's type. + * The new-style hook wrappers, added in the yanked 1.1.0 + release, now require an explicit ``wrapper=True`` designation + in the ``@hookimpl()`` decorator. + +------------------------------------------------------------------- +Fri Apr 21 12:29:29 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:43:04 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Sun Oct 17 12:12:42 UTC 2021 - Ben Greiner + +- Update to version 1.0.0 + Deprecations and Removals + * #116: Remove deprecated implprefix support. Decorate hook + implementations using an instance of HookimplMarker instead. + The deprecation was announced in release 0.7.0. + * #120: Remove the deprecated proc argument to call_historic. Use + result_callback instead, which has the same behavior. The + deprecation was announced in release 0.7.0. + * #265: Remove the _Result.result property. Use + _Result.get_result() instead. Note that unlike result, + get_result() raises the exception if the hook raised. The + deprecation was announced in release 0.6.0. + * #267: Remove official support for Python 3.4. + * #272: Dropped support for Python 2. Continue to use pluggy + 0.13.x for Python 2 support. + * #308: Remove official support for Python 3.5. + * #313: The internal pluggy.callers, pluggy.manager and + pluggy.hooks are now explicitly marked private by a _ prefix + (e.g. pluggy._callers). Only API exported by the top-level + pluggy module is considered public. + * #59: Remove legacy __multicall__ recursive hook calling system. + The deprecation was announced in release 0.5.0. + Features + * #282: When registering a hookimpl which is declared as + hookwrapper=True but whose function is not a generator + function, a PluggyValidationError exception is now raised. + * #309: Add official support for Python 3.9. + * #251: Add specname option to @hookimpl. If specname is + provided, it will be used instead of the function name when + matching this hook implementation to a hook specification + during registration (allowing a plugin to register a hook + implementation that was not named the same thing as the + corresponding @hookspec). + +------------------------------------------------------------------- +Mon Jan 6 12:52:03 UTC 2020 - Tomáš Chvátal + +- Update to 0.13.1: + * Improved documentation, especially with regard to references. + +------------------------------------------------------------------- +Fri Dec 13 14:45:29 UTC 2019 - Stefan Brüns + +- importlib-metadata is only a runtime requirement (in accordance + with setup.py), remove it from BuildRequires. + +------------------------------------------------------------------- +Fri Sep 13 13:20:01 UTC 2019 - Tomáš Chvátal + +- Update to 0.13.0: + * support python 3.8 + +------------------------------------------------------------------- +Mon Jun 3 08:08:47 UTC 2019 - Tomáš Chvátal + +- Update to 0.12.0: + * #215: Switch from pkg_resources to importlib-metadata for entrypoint + detection for improved performance and import time. This time with .egg support. + +------------------------------------------------------------------- +Mon May 20 08:34:10 UTC 2019 - Tomáš Chvátal + +- Update to 0.11.0: + * Small bugfixes only + +------------------------------------------------------------------- +Tue Feb 26 11:51:44 UTC 2019 - Tomáš Chvátal + +- Update to 0.9.0: + * #189: PluginManager.load_setuptools_entrypoints now accepts a name parameter that when given will load only entry points with that name. + * PluginManager.load_setuptools_entrypoints also now returns the number of plugins loaded by the call, as opposed to the number of all plugins loaded by all calls to this method. + +------------------------------------------------------------------- +Mon Feb 25 08:23:41 UTC 2019 - Tomáš Chvátal + +- Switch to multibuild in order to avoid build loop + +------------------------------------------------------------------- +Tue Feb 12 14:20:45 UTC 2019 - Tomáš Chvátal + +- Update to 0.8.1: + * #166: Add stacklevel=2 to implprefix warning so that the reported location of warning is the caller of PluginManager. + +------------------------------------------------------------------- +Fri Oct 26 13:01:53 UTC 2018 - Ondřej Súkup + +- update to 0.8.0 + * Add get_hookimpls() method to hook callers + * Add changelog in long package description and documentation. + * Add a test exemplifying the opt-in nature of spec defined args. + * Encapsulate hook specifications in a type for easier introspection. + +------------------------------------------------------------------- +Thu Aug 2 12:22:54 UTC 2018 - mimi.vx@gmail.com + +- update to 0.7.1 + * Deprecate the implprefix kwarg to PluginManager and instead expect users + to start using explicit HookimplMarker everywhere + * Add .plugin member to PluginValidationError to access failing plugin during post-mortem. + * Add per implementation warnings support for hookspecs allowing for both + deprecation and future warnings of legacy and (future) experimental hooks respectively. + * Fix a bug where _HookCaller.call_historic() would call the proc arg even + when the default is None resulting in a TypeError. + * Fix problem when handling VersionConflict errors when loading setuptools plugins. + +------------------------------------------------------------------- +Thu Dec 21 16:12:04 UTC 2017 - jmatejek@suse.com + +- run tests conditionally (fixes bsc#1073845) + +------------------------------------------------------------------- +Sun Nov 26 21:25:17 UTC 2017 - arun@gmx.de + +- update to version 0.6.0 + * Add CI testing for the features, release, and master branches of + pytest (PR #79). + * Document public API for _Result objects passed to wrappers (PR + #85). + * Document and test hook LIFO ordering (PR #85). + * Turn warnings into errors in test suite (PR #89). + * Deprecate _Result.result (PR #88). + * Convert _Multicall to a simple function distinguishing it from the + legacy version (PR #90). + * Resolve E741 errors (PR #96). + * Test and bug fix for unmarked hook collection (PRs #97 and #102). + * Drop support for EOL Python 2.6 and 3.3 (PR #103). + * Fix inspect based arg introspection on py3.6 (PR #94). + +------------------------------------------------------------------- +Thu Nov 9 06:02:35 UTC 2017 - arun@gmx.de + +- specfile: + * changed from zip to tar.gz + * removed CHANGELOG fomr %doc (not in tar-ball anymore) + +- update to version 0.5.2: + * fix bug where firstresult wrappers were being sent an incorrectly + configured _Result (a list was set instead of a single value). Add + tests to check for this as well as _Result.force_result() + behaviour. Thanks to @tgoodlet for the PR #72. + * fix incorrect getattr of DeprecationWarning from the warnings + module. Thanks to @nicoddemus for the PR #77. + hide pytest tracebacks in certain core routines. Thanks to @nicoddemus for the PR #80. + +- changes from version 0.5.1: + * fix a bug and add tests for case where firstresult hooks return + None results. Thanks to @RonnyPfannschmidt and @tgoodlet for the + issue (#68) and PR (#69) respectively. + +- changes from version 0.5.0: + * fix bug where callbacks for historic hooks would not be called for + already registered plugins. Thanks @vodik for the PR and @hpk42 + for further fixes. + * fix #17 by considering only actual functions for hooks this + removes the ability to register arbitrary callable objects which + at first glance is a reasonable simplification, thanks + @RonnyPfannschmidt for report and pr. + * fix #19: allow registering hookspecs from instances. The PR from + @tgoodlet also modernized the varnames implementation. + * resolve #32: split up the test set into multiple modules. Thanks + to @RonnyPfannschmidt for the PR and @tgoodlet for the initial + request. + * resolve #14: add full sphinx docs. Thanks to @tgoodlet for PR #39. + * add hook call mismatch warnings. Thanks to @tgoodlet for the PR + #42. + * resolve #44: move to new-style classes. Thanks to @MichalTHEDUDE + for PR #46. + * add baseline benchmarking/speed tests using pytest-benchmark in PR + #54. Thanks to @tgoodlet. + * update the README to showcase the API. Thanks to @tgoodlet for the + issue and PR #55. + * deprecate __multicall__ and add a faster call loop + implementation. Thanks to @tgoodlet for PR #58. + * raise a comprehensible error when a hookimpl is called with + positional args. Thanks to @RonnyPfannschmidt for the issue and + @tgoodlet for PR #60. + * fix the firstresult test making it more complete and remove a + duplicate of that test. Thanks to @tgoodlet for PR #62. + +------------------------------------------------------------------- +Fri Apr 7 15:09:41 UTC 2017 - jmatejek@suse.com + +- update for singlespec +- add project URL +- enable test +- update to 0.4.0 + * add has_plugin(name) method to pluginmanager. thanks Bruno Oliveira. + * fix issue11: make plugin parsing more resilient against exceptions + from __getattr__ functions. Thanks Bruno Oliveira. + * fix issue #4: specific HookCallError exception for when a hook call + provides not enough arguments. + * better error message when loading setuptools entrypoints fails + due to a VersionConflict. Thanks Daniel Hahler. + +------------------------------------------------------------------- +Wed Sep 16 13:48:57 UTC 2015 - tbechtold@suse.com + +- Initial packagin (version 0.3.0) + diff --git a/python-pluggy.spec b/python-pluggy.spec new file mode 100644 index 0000000..d485dbc --- /dev/null +++ b/python-pluggy.spec @@ -0,0 +1,77 @@ +# +# spec file for package python-pluggy +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%define psuffix -test +%bcond_without test +%else +%define psuffix %{nil} +%bcond_with test +%endif +%{?sle15_python_module_pythons} +Name: python-pluggy%{psuffix} +Version: 1.6.0 +Release: 0 +Summary: A minimalist production ready plugin system +License: MIT +URL: https://github.com/pytest-dev/pluggy +Source: https://files.pythonhosted.org/packages/source/p/pluggy/pluggy-%{version}.tar.gz +BuildRequires: %{python_module base >= 3.8} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools_scm} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +BuildArch: noarch +%if %{with test} +BuildRequires: %{python_module pluggy = %{version}} +BuildRequires: %{python_module pytest >= 7.3.0} +%endif +%python_subpackages + +%description +This is the core framework used by the pytest, tox, and devpi projects. + +%prep +%setup -q -n pluggy-%{version} + +%build +%pyproject_wheel + +%install +%if !%{with test} +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} +%endif + +%check +%if %{with test} +%pytest testing +%endif + +%if !%{with test} +%files %{python_files} +%license LICENSE +%doc README.rst CHANGELOG.rst +%{python_sitelib}/pluggy +%{python_sitelib}/pluggy-%{version}.dist-info +%endif + +%changelog