commit cea98a11211bc1fd086f2d46653d0d51df197d76 Author: Adrian Schröter Date: Fri Jul 12 12:18:36 2024 +0200 Sync from SUSE:ALP:Source:Standard:1.0 saltbundlepy-exceptiongroup revision e3653b196de0c081915eda3fd120ab13 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /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/_multibuild b/_multibuild new file mode 100644 index 0000000..83bd4e9 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/exceptiongroup-1.1.2-gh.tar.gz b/exceptiongroup-1.1.2-gh.tar.gz new file mode 100644 index 0000000..c6eba34 --- /dev/null +++ b/exceptiongroup-1.1.2-gh.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:107e769418fac86697c510aa0e6849ae48d384b20186ec4db5c23e567829589f +size 23079 diff --git a/saltbundlepy-exceptiongroup.changes b/saltbundlepy-exceptiongroup.changes new file mode 100644 index 0000000..bc537bb --- /dev/null +++ b/saltbundlepy-exceptiongroup.changes @@ -0,0 +1,64 @@ +------------------------------------------------------------------- +Thu Dec 14 10:55:49 UTC 2023 - Victor Zhestkov + +- Update to 1.1.2: + * Changed handling of exceptions in exception group handler + callbacks to not wrap a single exception in an exception + group, as per CPython issue gh#python/cpython#103590. + +- Add skip-test_catch_handler_raises-for-older-311.patch + (gh#agronholm/exceptiongroup#64). + +- Update to 1.1.1: + * Worked around `CPython issue #98778 + ``urllib.error.HTTPError(..., fp=None)`` raises + ``KeyError`` on unknown attribute access, on affected + Python versions. + +------------------------------------------------------------------- +Thu Nov 2 15:47:30 UTC 2023 - Victor Zhestkov + +- Disable debuginfo package for test flavor + +------------------------------------------------------------------- +Fri Dec 23 15:24:56 UTC 2022 - Ben Greiner + +- Update to 1.1.0 + * Backported upstream fix for gh-99553 (custom subclasses of + BaseExceptionGroup that also inherit from Exception should not + be able to wrap base exceptions) + * Moved all initialization code to __new__() (thus matching + Python 3.11 behavior) +- Fix multibuild + +------------------------------------------------------------------- +Mon Dec 19 10:08:40 UTC 2022 - Dirk Müller + +- split tests into multibuild to solve cycle with pytest + +------------------------------------------------------------------- +Thu Dec 1 09:42:08 UTC 2022 - Johannes Kastl + +- update to 1.0.4: + * Fixed regression introduced in v1.0.3 where the code computing the suggestions would assume that both the obj attribute of AttributeError is always available, even though this is only true from Python 3.10 onwards (#43; PR by Carl Friedrich Bolz-Tereick) +- update to 1.0.3: + * Fixed monkey patching breaking suggestions (on a NameError or AttributeError) on Python 3.10 (#41; PR by Carl Friedrich Bolz-Tereick) +- update to 1.0.2: + * Updated type annotations to match the ones in typeshed +- update to 1.0.1: + * Fixed formatted traceback missing exceptions beyond 2 nesting levels of __context__ or __cause__ +- update to 1.0.0: + * Fixed AttributeError: 'PatchedTracebackException' object has no attribute '__cause__' on Python 3.10 (only) when a traceback is printed from an exception where an exception group is set as the cause (#33) + * Fixed a loop in exception groups being rendered incorrectly (#35) + * Fixed the patched formatting functions (format_exception()``etc.) not passing the ``compact=True flag on Python 3.10 like the original functions do + +------------------------------------------------------------------- +Wed Oct 26 19:53:01 UTC 2022 - Matej Cepl + +- The package actually builds with Python 3.11. + +------------------------------------------------------------------- +Sun Oct 9 19:54:31 UTC 2022 - Ben Greiner + +- Initial specfile for v 1.0.0rc9 +- Pre-release version required by hypothesis diff --git a/saltbundlepy-exceptiongroup.spec b/saltbundlepy-exceptiongroup.spec new file mode 100644 index 0000000..b7cdba2 --- /dev/null +++ b/saltbundlepy-exceptiongroup.spec @@ -0,0 +1,114 @@ +# +# spec file for package saltbundlepy-exceptiongroup +# +# Copyright (c) 2023 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/ +# + + +%{?!saltbundlepy_module:%define saltbundlepy_module() saltbundlepy-%{**}} +%define pythons saltbundlepy + +# This is not only because of dependency of testsuite, but mostly +# because of cyclical dependencies between exceptiongroup and pytest. +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%bcond_without test +%define psuffix -test +%define debug_package %{nil} +%else +%bcond_with test +%define psuffix %{nil} +%endif + +Name: saltbundlepy-exceptiongroup%{psuffix} +Version: 1.1.2 +Release: 0 +Summary: Backport of PEP 654 (exception groups) +License: MIT AND Python-2.0 +URL: https://github.com/agronholm/exceptiongroup +Source: https://github.com/agronholm/exceptiongroup/archive/refs/tags/%{version}.tar.gz#/exceptiongroup-%{version}-gh.tar.gz +# PATCH-FIX-UPSTREAM skip-test_catch_handler_raises-for-older-311.patch gh#agronholm/exceptiongroup#64 mcepl@suse.com +# Skip test_catch_handler_raises() on Python 3.11 if the Python version is less than 3.11.4 +Patch0: skip-test_catch_handler_raises-for-older-311.patch +BuildRequires: %{saltbundlepy_module base >= 3.10} +BuildRequires: %{saltbundlepy_module flit-scm} +BuildRequires: %{saltbundlepy_module pip} +%if %{with test} +%if "%_vendor" == "debbuild" +BuildRequires: %{saltbundlepy_module exceptiongroup >= %{version}-~} +%else +BuildRequires: %{saltbundlepy_module exceptiongroup = %{version}} +%endif +BuildRequires: %{saltbundlepy_module pytest} +%endif +BuildRequires: fdupes +BuildRequires: saltbundlepy-rpm-macros +BuildArch: noarch +%python_subpackages + +%description +This is a backport of the ``BaseExceptionGroup`` and ``ExceptionGroup`` classes from +Python 3.11. + +It contains the following: + +* The ``exceptiongroup.BaseExceptionGroup`` and ``exceptiongroup.ExceptionGroup`` + classes +* A utility function (``exceptiongroup.catch()``) for catching exceptions possibly + nested in an exception group +* Patches to the ``TracebackException`` class that properly formats exception groups + (installed on import) +* An exception hook that handles formatting of exception groups through + ``TracebackException`` (installed on import) +* Special versions of some of the functions from the ``traceback`` module, modified to + correctly handle exception groups even when monkey patching is disabled, or blocked by + another custom exception hook: + + * ``traceback.format_exception()`` + * ``traceback.format_exception_only()`` + * ``traceback.print_exception()`` + * ``traceback.print_exc()`` + +If this package is imported on Python 3.11 or later, the built-in implementations of the +exception group classes are used instead, ``TracebackException`` is not monkey patched +and the exception hook won't be installed. + +%prep +%setup -q -n exceptiongroup-%{version} +%autopatch -p1 + +%if !%{with test} +%build +export SETUPTOOLS_SCM_PRETEND_VERSION=%{version} +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} +%endif + +%if %{with test} +%check +%pytest +%endif + +%if !%{with test} +%files %{python_files} +%doc README.rst +%license LICENSE +%{python_sitelib}/exceptiongroup +%{python_sitelib}/exceptiongroup-%{version}.dist-info +%endif + +%changelog diff --git a/skip-test_catch_handler_raises-for-older-311.patch b/skip-test_catch_handler_raises-for-older-311.patch new file mode 100644 index 0000000..144ffaf --- /dev/null +++ b/skip-test_catch_handler_raises-for-older-311.patch @@ -0,0 +1,31 @@ +From 452ba0946347b4e0df950763213f162704bc1eed Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= +Date: Wed, 5 Jul 2023 12:28:15 +0300 +Subject: [PATCH] Skip test_catch_handler_raises() on Python 3.11 if the Python + version is too low + +--- + tests/test_catch_py311.py | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/tests/test_catch_py311.py b/tests/test_catch_py311.py +index 4351be8..5880f0a 100644 +--- a/tests/test_catch_py311.py ++++ b/tests/test_catch_py311.py +@@ -1,3 +1,5 @@ ++import sys ++ + import pytest + + from exceptiongroup import ExceptionGroup +@@ -121,6 +123,10 @@ def test_catch_full_match(): + pass + + ++@pytest.mark.skipif( ++ sys.version_info < (3, 11, 4), ++ reason="Behavior was changed in 3.11.4", ++) + def test_catch_handler_raises(): + with pytest.raises(RuntimeError, match="new"): + try: