Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-aiohappyeyeballs for
openSUSE:Factory checked in at 2024-12-06 14:25:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-aiohappyeyeballs (Old)
and /work/SRC/openSUSE:Factory/.python-aiohappyeyeballs.new.28523 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-aiohappyeyeballs"
Fri Dec 6 14:25:25 2024 rev:4 rq:1228686 version:2.4.4
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-aiohappyeyeballs/python-aiohappyeyeballs.changes
2024-10-30 17:33:10.117071338 +0100
+++
/work/SRC/openSUSE:Factory/.python-aiohappyeyeballs.new.28523/python-aiohappyeyeballs.changes
2024-12-06 14:25:33.702414239 +0100
@@ -1,0 +2,7 @@
+Tue Dec 3 19:48:41 UTC 2024 - Martin Hauke <[email protected]>
+
+- Update to version 2.4.4
+ * fix: handle OSError on failure to close socket instead of
+ raising IndexError (#114).
+
+-------------------------------------------------------------------
Old:
----
aiohappyeyeballs-2.4.3.tar.gz
New:
----
aiohappyeyeballs-2.4.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-aiohappyeyeballs.spec ++++++
--- /var/tmp/diff_new_pack.5mYZ72/_old 2024-12-06 14:25:34.882463961 +0100
+++ /var/tmp/diff_new_pack.5mYZ72/_new 2024-12-06 14:25:34.894464466 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-aiohappyeyeballs
-Version: 2.4.3
+Version: 2.4.4
Release: 0
Summary: Happy Eyeballs for asyncio
License: Python-2.0
++++++ aiohappyeyeballs-2.4.3.tar.gz -> aiohappyeyeballs-2.4.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiohappyeyeballs-2.4.3/PKG-INFO
new/aiohappyeyeballs-2.4.4/PKG-INFO
--- old/aiohappyeyeballs-2.4.3/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
+++ new/aiohappyeyeballs-2.4.4/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: aiohappyeyeballs
-Version: 2.4.3
+Version: 2.4.4
Summary: Happy Eyeballs for asyncio
Home-page: https://github.com/aio-libs/aiohappyeyeballs
License: PSF-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiohappyeyeballs-2.4.3/pyproject.toml
new/aiohappyeyeballs-2.4.4/pyproject.toml
--- old/aiohappyeyeballs-2.4.3/pyproject.toml 2024-09-30 21:40:44.716034200
+0200
+++ new/aiohappyeyeballs-2.4.4/pyproject.toml 2024-11-30 19:42:08.260468200
+0100
@@ -1,6 +1,6 @@
[tool.poetry]
name = "aiohappyeyeballs"
-version = "2.4.3"
+version = "2.4.4"
description = "Happy Eyeballs for asyncio"
authors = ["J. Nick Koston <[email protected]>"]
license = "PSF-2.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/aiohappyeyeballs-2.4.3/src/aiohappyeyeballs/__init__.py
new/aiohappyeyeballs-2.4.4/src/aiohappyeyeballs/__init__.py
--- old/aiohappyeyeballs-2.4.3/src/aiohappyeyeballs/__init__.py 2024-09-30
21:40:44.716034200 +0200
+++ new/aiohappyeyeballs-2.4.4/src/aiohappyeyeballs/__init__.py 2024-11-30
19:42:08.260468200 +0100
@@ -1,13 +1,13 @@
-__version__ = "2.4.3"
+__version__ = "2.4.4"
from .impl import start_connection
from .types import AddrInfoType
from .utils import addr_to_addr_infos, pop_addr_infos_interleave,
remove_addr_infos
__all__ = (
- "start_connection",
"AddrInfoType",
- "remove_addr_infos",
- "pop_addr_infos_interleave",
"addr_to_addr_infos",
+ "pop_addr_infos_interleave",
+ "remove_addr_infos",
+ "start_connection",
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiohappyeyeballs-2.4.3/src/aiohappyeyeballs/impl.py
new/aiohappyeyeballs-2.4.4/src/aiohappyeyeballs/impl.py
--- old/aiohappyeyeballs-2.4.3/src/aiohappyeyeballs/impl.py 2024-09-30
21:40:43.735043300 +0200
+++ new/aiohappyeyeballs-2.4.4/src/aiohappyeyeballs/impl.py 2024-11-30
19:42:06.704460600 +0100
@@ -176,11 +176,19 @@
except (RuntimeError, OSError) as exc:
my_exceptions.append(exc)
if sock is not None:
- sock.close()
+ try:
+ sock.close()
+ except OSError as e:
+ my_exceptions.append(e)
+ raise
raise
except:
if sock is not None:
- sock.close()
+ try:
+ sock.close()
+ except OSError as e:
+ my_exceptions.append(e)
+ raise
raise
finally:
exceptions = my_exceptions = None # type: ignore[assignment]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiohappyeyeballs-2.4.3/tests/test_impl.py
new/aiohappyeyeballs-2.4.4/tests/test_impl.py
--- old/aiohappyeyeballs-2.4.3/tests/test_impl.py 2024-09-30
21:40:43.735043300 +0200
+++ new/aiohappyeyeballs-2.4.4/tests/test_impl.py 2024-11-30
19:42:06.704460600 +0100
@@ -1825,3 +1825,46 @@
def test_python_38_compat() -> None:
"""Verify python < 3.8.2 compatibility."""
assert asyncio.futures.TimeoutError is asyncio.TimeoutError # type:
ignore[attr-defined]
+
+
[email protected]
[email protected](
+ "connect_side_effect",
+ [
+ OSError("during connect"),
+ asyncio.CancelledError("during connect"),
+ ],
+)
+@patch_socket
+async def test_single_addr_info_close_errors(
+ m_socket: ModuleType, connect_side_effect: BaseException
+) -> None:
+ mock_socket = mock.MagicMock(
+ family=socket.AF_INET,
+ type=socket.SOCK_STREAM,
+ proto=socket.IPPROTO_TCP,
+ fileno=mock.MagicMock(return_value=1),
+ )
+ mock_socket.configure_mock(
+ **{
+ "connect.side_effect": connect_side_effect,
+ "close.side_effect": OSError("during close"),
+ }
+ )
+
+ def _socket(*args, **kw):
+ return mock_socket
+
+ m_socket.socket = _socket # type: ignore
+
+ addr_info = [
+ (
+ socket.AF_INET,
+ socket.SOCK_STREAM,
+ socket.IPPROTO_TCP,
+ "",
+ ("107.6.106.82", 80),
+ )
+ ]
+ with pytest.raises(OSError, match="during close"):
+ await start_connection(addr_info)