Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-exceptiongroup for
openSUSE:Factory checked in at 2023-07-06 18:27:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-exceptiongroup (Old)
and /work/SRC/openSUSE:Factory/.python-exceptiongroup.new.23466 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-exceptiongroup"
Thu Jul 6 18:27:49 2023 rev:6 rq:1096944 version:1.1.2
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-exceptiongroup/python-exceptiongroup.changes
2023-04-22 22:02:04.397795010 +0200
+++
/work/SRC/openSUSE:Factory/.python-exceptiongroup.new.23466/python-exceptiongroup.changes
2023-07-06 18:27:51.198843854 +0200
@@ -1,0 +2,10 @@
+Tue Jul 4 22:32:27 UTC 2023 - Matej Cepl <[email protected]>
+
+- 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).
+
+-------------------------------------------------------------------
Old:
----
exceptiongroup-1.1.1-gh.tar.gz
New:
----
exceptiongroup-1.1.2-gh.tar.gz
skip-test_catch_handler_raises-for-older-311.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-exceptiongroup.spec ++++++
--- /var/tmp/diff_new_pack.A9XmxV/_old 2023-07-06 18:27:51.898848150 +0200
+++ /var/tmp/diff_new_pack.A9XmxV/_new 2023-07-06 18:27:51.902848176 +0200
@@ -29,12 +29,15 @@
%{?sle15_python_module_pythons}
Name: python-exceptiongroup%{psuffix}
-Version: 1.1.1
+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 [email protected]
+# 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: %{python_module base >= 3.7}
BuildRequires: %{python_module flit-scm}
BuildRequires: %{python_module pip}
@@ -75,7 +78,7 @@
and the exception hook won't be installed.
%prep
-%setup -q -n exceptiongroup-%{version}
+%autosetup -p1 -n exceptiongroup-%{version}
%if !%{with test}
%build
++++++ exceptiongroup-1.1.1-gh.tar.gz -> exceptiongroup-1.1.2-gh.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/exceptiongroup-1.1.1/.github/workflows/test.yml
new/exceptiongroup-1.1.2/.github/workflows/test.yml
--- old/exceptiongroup-1.1.1/.github/workflows/test.yml 2023-03-12
22:27:24.000000000 +0100
+++ new/exceptiongroup-1.1.2/.github/workflows/test.yml 2023-07-03
11:53:03.000000000 +0200
@@ -27,7 +27,7 @@
strategy:
fail-fast: false
matrix:
- python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", pypy-3.8]
+ python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12",
pypy-3.10]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
@@ -35,30 +35,24 @@
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- - uses: actions/cache@v3
- with:
- path: ~/.cache/pip
- key: pip-test-${{ matrix.python-version }}-${{ matrix.os }}
+ allow-prereleases: true
+ cache: pip
+ cache-dependency-path: pyproject.toml
- name: Install dependencies
- run: pip install .[test] coveralls coverage[toml]
+ run: pip install -e .[test] coverage
- name: Test with pytest
run: coverage run -m pytest
- name: Upload Coverage
- run: coveralls --service=github
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- COVERALLS_FLAG_NAME: ${{ matrix.test-name }}
- COVERALLS_PARALLEL: true
+ uses: coverallsapp/github-action@v2
+ with:
+ parallel: true
coveralls:
name: Finish Coveralls
needs: test
runs-on: ubuntu-latest
- container: python:3-slim
steps:
- name: Finished
- run: |
- pip install coveralls
- coveralls --service=github --finish
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ uses: coverallsapp/github-action@v2
+ with:
+ parallel-finished: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/exceptiongroup-1.1.1/.gitignore
new/exceptiongroup-1.1.2/.gitignore
--- old/exceptiongroup-1.1.1/.gitignore 2023-03-12 22:27:24.000000000 +0100
+++ new/exceptiongroup-1.1.2/.gitignore 2023-07-03 11:53:03.000000000 +0200
@@ -7,6 +7,7 @@
.coverage
.pytest_cache/
.mypy_cache/
+.ruff_cache/
.eggs/
.tox
.idea
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/exceptiongroup-1.1.1/.pre-commit-config.yaml
new/exceptiongroup-1.1.2/.pre-commit-config.yaml
--- old/exceptiongroup-1.1.1/.pre-commit-config.yaml 2023-03-12
22:27:24.000000000 +0100
+++ new/exceptiongroup-1.1.2/.pre-commit-config.yaml 2023-07-03
11:53:03.000000000 +0200
@@ -15,37 +15,21 @@
args: ["--fix=lf"]
- id: trailing-whitespace
-- repo: https://github.com/pycqa/isort
- rev: 5.12.0
- hooks:
- - id: isort
-
- repo: https://github.com/asottile/pyupgrade
- rev: v3.3.1
+ rev: v3.6.0
hooks:
- id: pyupgrade
args: ["--py37-plus", "--keep-runtime-typing"]
-- repo: https://github.com/psf/black
- rev: 23.1.0
+- repo: https://github.com/charliermarsh/ruff-pre-commit
+ rev: v0.0.272
hooks:
- - id: black
- exclude: "tests/test_catch_py311.py"
+ - id: ruff
+ args: [--fix, --show-fixes]
+ exclude: "tests/test_catch_py311.py"
-- repo: https://github.com/csachs/pyproject-flake8
- rev: v6.0.0.post1
+- repo: https://github.com/psf/black
+ rev: 23.3.0
hooks:
- - id: pyproject-flake8
- additional_dependencies: [flake8-bugbear]
+ - id: black
exclude: "tests/test_catch_py311.py"
-
-- repo: https://github.com/pre-commit/pygrep-hooks
- rev: v1.10.0
- hooks:
- - id: python-check-blanket-noqa
- - id: python-check-blanket-type-ignore
- - id: python-no-eval
- - id: python-use-type-annotations
- - id: rst-backticks
- - id: rst-directive-colons
- - id: rst-inline-touching-normal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/exceptiongroup-1.1.1/CHANGES.rst
new/exceptiongroup-1.1.2/CHANGES.rst
--- old/exceptiongroup-1.1.1/CHANGES.rst 2023-03-12 22:27:24.000000000
+0100
+++ new/exceptiongroup-1.1.2/CHANGES.rst 2023-07-03 11:53:03.000000000
+0200
@@ -3,6 +3,12 @@
This library adheres to `Semantic Versioning 2.0 <http://semver.org/>`_.
+**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 103590 <https://github.com/python/cpython/issues/103590>`_
+
**1.1.1**
- Worked around
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/exceptiongroup-1.1.1/pyproject.toml
new/exceptiongroup-1.1.2/pyproject.toml
--- old/exceptiongroup-1.1.1/pyproject.toml 2023-03-12 22:27:24.000000000
+0100
+++ new/exceptiongroup-1.1.2/pyproject.toml 2023-07-03 11:53:03.000000000
+0200
@@ -30,6 +30,9 @@
]
[tool.flit.sdist]
+include = [
+ "tests",
+]
exclude = [
".github/*",
".gitignore",
@@ -41,16 +44,19 @@
local_scheme = "dirty-tag"
write_to = "src/exceptiongroup/_version.py"
-[tool.black]
-target-version = ['py37']
-
-[tool.isort]
-src_paths = ["src"]
-skip_gitignore = true
-profile = "black"
+[tool.ruff]
+line-length = 88
+select = [
+ "E", "F", "W", # default flake-8
+ "I", # isort
+ "ISC", # flake8-implicit-str-concat
+ "PGH", # pygrep-hooks
+ "RUF100", # unused noqa (yesqa)
+]
+target-version = "py37"
-[tool.flake8]
-max-line-length = 88
+[tool.ruff.isort]
+known-first-party = ["exceptiongroup"]
[tool.pytest.ini_options]
addopts = "-rsx --tb=short --strict-config --strict-markers"
@@ -69,13 +75,14 @@
[tool.tox]
legacy_tox_ini = """
[tox]
-envlist = py37, py38, py39, py310, py311, pypy3
+envlist = py37, py38, py39, py310, py311, py312, pypy3
skip_missing_interpreters = true
minversion = 4.0
[testenv]
extras = test
commands = python -m pytest {posargs}
+usedevelop = true
[testenv:pyright]
deps = pyright
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/exceptiongroup-1.1.1/src/exceptiongroup/_catch.py
new/exceptiongroup-1.1.2/src/exceptiongroup/_catch.py
--- old/exceptiongroup-1.1.1/src/exceptiongroup/_catch.py 2023-03-12
22:27:24.000000000 +0100
+++ new/exceptiongroup-1.1.2/src/exceptiongroup/_catch.py 2023-07-03
11:53:03.000000000 +0200
@@ -37,7 +37,7 @@
return False
- def handle_exception(self, exc: BaseException) -> BaseExceptionGroup |
None:
+ def handle_exception(self, exc: BaseException) -> BaseException | None:
excgroup: BaseExceptionGroup | None
if isinstance(exc, BaseExceptionGroup):
excgroup = exc
@@ -57,6 +57,9 @@
break
if new_exceptions:
+ if len(new_exceptions) == 1:
+ return new_exceptions[0]
+
if excgroup:
new_exceptions.append(excgroup)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/exceptiongroup-1.1.1/src/exceptiongroup/_exceptions.py
new/exceptiongroup-1.1.2/src/exceptiongroup/_exceptions.py
--- old/exceptiongroup-1.1.1/src/exceptiongroup/_exceptions.py 2023-03-12
22:27:24.000000000 +0100
+++ new/exceptiongroup-1.1.2/src/exceptiongroup/_exceptions.py 2023-07-03
11:53:03.000000000 +0200
@@ -60,7 +60,7 @@
for i, exc in enumerate(__exceptions):
if not isinstance(exc, BaseException):
raise ValueError(
- f"Item {i} of second argument (exceptions) is not an "
f"exception"
+ f"Item {i} of second argument (exceptions) is not an
exception"
)
if cls is BaseExceptionGroup:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/exceptiongroup-1.1.1/tests/test_catch.py
new/exceptiongroup-1.1.2/tests/test_catch.py
--- old/exceptiongroup-1.1.1/tests/test_catch.py 2023-03-12
22:27:24.000000000 +0100
+++ new/exceptiongroup-1.1.2/tests/test_catch.py 2023-07-03
11:53:03.000000000 +0200
@@ -148,15 +148,9 @@
def handler(exc):
raise RuntimeError("new")
- try:
+ with pytest.raises(RuntimeError, match="new"):
with catch({(ValueError, ValueError): handler}):
raise ExceptionGroup("booboo", [ValueError("bar")])
- except ExceptionGroup as exc:
- assert exc.message == ""
- assert len(exc.exceptions) == 1
- assert isinstance(exc.exceptions[0], RuntimeError)
- else:
- pytest.fail("Did not raise an ExceptionGroup")
def test_catch_subclass():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/exceptiongroup-1.1.1/tests/test_catch_py311.py
new/exceptiongroup-1.1.2/tests/test_catch_py311.py
--- old/exceptiongroup-1.1.1/tests/test_catch_py311.py 2023-03-12
22:27:24.000000000 +0100
+++ new/exceptiongroup-1.1.2/tests/test_catch_py311.py 2023-07-03
11:53:03.000000000 +0200
@@ -122,17 +122,11 @@
def test_catch_handler_raises():
- try:
+ with pytest.raises(RuntimeError, match="new"):
try:
raise ExceptionGroup("booboo", [ValueError("bar")])
except* ValueError:
raise RuntimeError("new")
- except ExceptionGroup as exc:
- assert exc.message == ""
- assert len(exc.exceptions) == 1
- assert isinstance(exc.exceptions[0], RuntimeError)
- else:
- pytest.fail("Did not raise an ExceptionGroup")
def test_catch_subclass():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/exceptiongroup-1.1.1/tests/test_exceptions.py
new/exceptiongroup-1.1.2/tests/test_exceptions.py
--- old/exceptiongroup-1.1.1/tests/test_exceptions.py 2023-03-12
22:27:24.000000000 +0100
+++ new/exceptiongroup-1.1.2/tests/test_exceptions.py 2023-07-03
11:53:03.000000000 +0200
@@ -290,7 +290,7 @@
]
for match_type, template in testcases:
- subeg = eg.subgroup(lambda e: isinstance(e, match_type)) # noqa:
B023
+ subeg = eg.subgroup(lambda e: isinstance(e, match_type))
self.assertEqual(subeg.message, eg.message)
self.assertMatchesTemplate(subeg, ExceptionGroup, template)
@@ -355,7 +355,7 @@
]
for match_type, match_template, rest_template in testcases:
- match, rest = eg.split(lambda e: isinstance(e, match_type)) #
noqa: B023
+ match, rest = eg.split(lambda e: isinstance(e, match_type))
self.assertEqual(match.message, eg.message)
self.assertMatchesTemplate(match, ExceptionGroup, match_template)
if rest_template is not None:
++++++ skip-test_catch_handler_raises-for-older-311.patch ++++++
>From 452ba0946347b4e0df950763213f162704bc1eed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <[email protected]>
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
[email protected](
+ 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: