[tests] Close leftover server connections in the tcp_uart bridge and TCP client link tests (#20215)

Co-authored-by: J. Nick Koston <nick@koston.org>
This commit is contained in:
Bascht74
2026-10-10 08:15:30 -10:00
committed by GitHub
co-authored by J. Nick Koston
parent 3447b68136
commit eb1afa4245
2 changed files with 12 additions and 0 deletions
@@ -35,6 +35,7 @@ async def test_socket_tcp_client_link(
link_down = asyncio.Event()
second_link_up = asyncio.Event()
link_up_count = 0
writers: list[asyncio.StreamWriter] = []
def on_log_line(line: str) -> None:
nonlocal link_up_count
@@ -48,6 +49,7 @@ async def test_socket_tcp_client_link(
async def handle(
reader: asyncio.StreamReader, writer: asyncio.StreamWriter
) -> None:
writers.append(writer)
if not echo_done.is_set():
writer.write(PAYLOAD)
await writer.drain()
@@ -98,5 +100,9 @@ async def test_socket_tcp_client_link(
"Second session echo wrong; stale bytes from the first session?"
)
finally:
# On Python 3.12 wait_closed() waits for every connection the handlers
# left open; nothing else closes them once the device has exited.
for writer in writers:
writer.close()
server.close()
await server.wait_closed()
@@ -41,12 +41,14 @@ async def test_tcp_uart_bridge(
service_byte_ok = asyncio.Event()
reconnect_echo_ok = asyncio.Event()
sessions = 0
writers: list[asyncio.StreamWriter] = []
async def handle(
reader: asyncio.StreamReader, writer: asyncio.StreamWriter
) -> None:
nonlocal sessions
sessions += 1
writers.append(writer)
if sessions == 1:
writer.write(GREETING)
await writer.drain()
@@ -98,5 +100,9 @@ async def test_tcp_uart_bridge(
reconnect_echo_ok, 15.0, "Bridge did not reconnect and echo again"
)
finally:
# On Python 3.12 wait_closed() waits for every connection the handlers
# left open; nothing else closes them once the device has exited.
for writer in writers:
writer.close()
server.close()
await server.wait_closed()