File 0001-Remove-event_loop-fixture-usage-from-tests.patch of Package python-aiorpcX
From: Neil Booth <kyuupichan@pm.me>
Date: Wed, 30 Jul 2025 14:41:44 -0400
Subject: Remove event_loop fixture usage from tests
References: event-loop-fix
Git-repo: https://github.com/kyuupichan/aiorpcX
Git-commit: b8ce32889c45c98b44c4e247ec0b0ae206e9ee91
Patch-mainline: yes
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
tests/test_session.py | 43 +++++++++-------------------------------
tests/test_socks.py | 6 +++---
tests/test_unixsocket.py | 16 +++++----------
tests/test_util.py | 3 ++-
4 files changed, 19 insertions(+), 49 deletions(-)
diff --git a/tests/test_session.py b/tests/test_session.py
index 8877fca3e839..f52ab6b03018 100755
--- a/tests/test_session.py
+++ b/tests/test_session.py
@@ -17,13 +17,6 @@ from aiorpcx.session import Concurrency
from util import RaiseTest
-if sys.version_info >= (3, 7):
- from asyncio import all_tasks
-else:
- from asyncio import Task
- all_tasks = Task.all_tasks
-
-
def raises_method_not_found(message):
return RaiseTest(JSONRPC.METHOD_NOT_FOUND, message, RPCError)
@@ -86,21 +79,12 @@ def caplog_count(caplog, message):
@pytest.fixture
-def server_port(unused_tcp_port, event_loop):
- coro = serve_rs(MyServerSession, 'localhost', unused_tcp_port, loop=event_loop)
- server = event_loop.run_until_complete(coro)
+async def server_port(unused_tcp_port):
+ server = await serve_rs(MyServerSession, 'localhost', unused_tcp_port)
yield unused_tcp_port
- if hasattr(asyncio, 'all_tasks'):
- tasks = asyncio.all_tasks(event_loop)
- else:
- tasks = asyncio.Task.all_tasks(loop=event_loop)
- async def close_all():
- server.close()
- await server.wait_closed()
- if tasks:
- await asyncio.wait(tasks)
- event_loop.run_until_complete(close_all())
+ server.close()
+ await server.wait_closed()
class TestRPCSession:
@@ -765,21 +749,12 @@ class MessageServer(MessageSession):
@pytest.fixture
-def msg_server_port(event_loop, unused_tcp_port):
- coro = serve_rs(MessageServer, 'localhost', unused_tcp_port, loop=event_loop)
- server = event_loop.run_until_complete(coro)
+async def msg_server_port(unused_tcp_port):
+ server = await serve_rs(MessageServer, 'localhost', unused_tcp_port)
yield unused_tcp_port
- if hasattr(asyncio, 'all_tasks'):
- tasks = asyncio.all_tasks(event_loop)
- else:
- tasks = asyncio.Task.all_tasks(loop=event_loop)
-
- async def close_all():
- server.close()
- await server.wait_closed()
- if tasks:
- await asyncio.wait(tasks)
- event_loop.run_until_complete(close_all())
+
+ server.close()
+ await server.wait_closed()
def connect_message_session(host, port, proxy=None, framer=None):
diff --git a/tests/test_socks.py b/tests/test_socks.py
index 43ca282d379e..a8d3af2d500d 100755
--- a/tests/test_socks.py
+++ b/tests/test_socks.py
@@ -482,10 +482,10 @@ localhosts = ['127.0.0.1', '::1', 'localhost']
@pytest.fixture(params=localhosts)
-def proxy_address(request, event_loop, unused_tcp_port):
+async def proxy_address(request, unused_tcp_port):
host = request.param
- coro = event_loop.create_server(FakeServer, host=host, port=unused_tcp_port)
- server = event_loop.run_until_complete(coro)
+ event_loop = asyncio.get_running_loop()
+ server = await event_loop.create_server(FakeServer, host=host, port=unused_tcp_port)
yield NetAddress(host, unused_tcp_port)
server.close()
diff --git a/tests/test_unixsocket.py b/tests/test_unixsocket.py
index f75f23db0369..ae8c27fc677c 100755
--- a/tests/test_unixsocket.py
+++ b/tests/test_unixsocket.py
@@ -11,20 +11,14 @@ if sys.platform.startswith("win"):
@pytest.fixture
-def us_server(event_loop):
+async def us_server():
+ event_loop = asyncio.get_running_loop()
with tempfile.TemporaryDirectory() as tmp_folder:
socket_path = path.join(tmp_folder, 'test.socket')
- coro = serve_us(MyServerSession, socket_path, loop=event_loop)
- server = event_loop.run_until_complete(coro)
+ server = await serve_us(MyServerSession, socket_path)
yield socket_path
- tasks = asyncio.all_tasks(event_loop)
-
- async def close_all():
- server.close()
- await server.wait_closed()
- if tasks:
- await asyncio.wait(tasks)
- event_loop.run_until_complete(close_all())
+ server.close()
+ await server.wait_closed()
class TestUSTransport:
diff --git a/tests/test_util.py b/tests/test_util.py
index 8ce9691cd60d..5980607202a8 100755
--- a/tests/test_util.py
+++ b/tests/test_util.py
@@ -15,6 +15,7 @@ async def coro(x, y):
def test_is_async_call():
+ event_loop = asyncio.new_event_loop()
z = coro(2, 3)
assert not is_async_call(z)
assert is_async_call(coro)
@@ -23,7 +24,7 @@ def test_is_async_call():
assert not is_async_call(test_is_async_call)
assert not is_async_call(partial(is_async_call))
# Lose a warning
- asyncio.get_event_loop().run_until_complete(z)
+ event_loop.run_until_complete(z)
@pytest.mark.parametrize("hostname,answer", (
--
2.50.1