commit: 694cf260c304be0a7c27171b566e75bc73a737a5 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Fri Jun 14 15:51:40 2024 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Fri Jun 14 15:54:55 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=694cf260
dev-python/quart-trio: Backport a test fix for new trio Closes: https://bugs.gentoo.org/927347 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> .../files/quart-trio-0.11.1-trio-0.25.patch | 73 ++++++++++++++++++++++ dev-python/quart-trio/quart-trio-0.11.1.ebuild | 5 ++ 2 files changed, 78 insertions(+) diff --git a/dev-python/quart-trio/files/quart-trio-0.11.1-trio-0.25.patch b/dev-python/quart-trio/files/quart-trio-0.11.1-trio-0.25.patch new file mode 100644 index 000000000000..f95a253d06e9 --- /dev/null +++ b/dev-python/quart-trio/files/quart-trio-0.11.1-trio-0.25.patch @@ -0,0 +1,73 @@ +From 805686abfd9963be26d59d9da9b11faddd583d11 Mon Sep 17 00:00:00 2001 +From: pgjones <[email protected]> +Date: Sun, 19 May 2024 15:03:24 +0100 +Subject: [PATCH] Fix test failures + +Catch and extract from ExceptionGroups +--- + tests/test_app.py | 14 +++++++++----- + tests/test_basic.py | 10 ++++++++-- + 2 files changed, 17 insertions(+), 7 deletions(-) + +diff --git a/tests/test_app.py b/tests/test_app.py +index b6bffb5..1585107 100644 +--- a/tests/test_app.py ++++ b/tests/test_app.py +@@ -51,8 +51,10 @@ async def handler(_: Exception) -> ResponseReturnValue: + try: + async with test_client.websocket("/ws/") as test_websocket: + await test_websocket.receive() +- except WebsocketResponseError as error: +- assert error.response.status_code == 201 ++ except BaseExceptionGroup as error: ++ for exception in error.exceptions: ++ if isinstance(exception, WebsocketResponseError): ++ assert exception.response.status_code == 201 + + + @pytest.mark.trio +@@ -68,8 +70,10 @@ async def test_websocket_exception_group_unhandled(error_app: QuartTrio) -> None + try: + async with test_client.websocket("/ws/") as test_websocket: + await test_websocket.receive() +- except WebsocketResponseError as error: +- assert error.response.status_code == 500 ++ except BaseExceptionGroup as error: ++ for exception in error.exceptions: ++ if isinstance(exception, WebsocketResponseError): ++ assert exception.response.status_code == 500 + + + @pytest.mark.trio +diff --git a/tests/test_basic.py b/tests/test_basic.py +index 5cc4c4a..a483678 100644 +--- a/tests/test_basic.py ++++ b/tests/test_basic.py +@@ -1,3 +1,4 @@ ++import sys + from pathlib import Path + + import pytest +@@ -6,6 +7,9 @@ + + from quart_trio import QuartTrio + ++if sys.version_info < (3, 11): ++ from exceptiongroup import BaseExceptionGroup ++ + + @pytest.fixture + def app() -> Quart: +@@ -53,8 +57,10 @@ async def test_websocket_abort(app: Quart) -> None: + try: + async with test_client.websocket("/ws/abort/") as test_websocket: + await test_websocket.receive() +- except WebsocketResponseError as error: +- assert error.response.status_code == 401 ++ except BaseExceptionGroup as error: ++ for exception in error.exceptions: ++ if isinstance(exception, WebsocketResponseError): ++ assert exception.response.status_code == 401 + + + @pytest.mark.trio diff --git a/dev-python/quart-trio/quart-trio-0.11.1.ebuild b/dev-python/quart-trio/quart-trio-0.11.1.ebuild index b6faca070e17..f09365444ebe 100644 --- a/dev-python/quart-trio/quart-trio-0.11.1.ebuild +++ b/dev-python/quart-trio/quart-trio-0.11.1.ebuild @@ -37,6 +37,11 @@ BDEPEND=" distutils_enable_tests pytest +PATCHES=( + # https://github.com/pgjones/quart-trio/commit/805686abfd9963be26d59d9da9b11faddd583d11 + "${FILESDIR}/${P}-trio-0.25.patch" +) + python_test() { local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 epytest -o addopts= -p trio
