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)

Reply via email to