[v1.x] Support Python 3.14 (#2769)

This commit is contained in:
Max 2026-06-03 11:27:55 +01:00 • committed by GitHub
commit 494eb11d36
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 224 additions and 42 deletions

View file

@ -70,7 +70,7 @@ async def run_tool_test(
async with anyio.create_task_group() as tg:
async def handle_messages():
async for message in server_session.incoming_messages:
async for message in server_session.incoming_messages: # pragma: no cover
await server._handle_message(message, server_session, {}, False)
tg.start_soon(handle_messages)

View file

@ -71,7 +71,7 @@ async def run_tool_test(
async with anyio.create_task_group() as tg:
async def handle_messages():
async for message in server_session.incoming_messages:
async for message in server_session.incoming_messages: # pragma: no cover
await server._handle_message(message, server_session, {}, False)
tg.start_soon(handle_messages)

View file

@ -67,7 +67,7 @@ async def test_lowlevel_server_tool_annotations():
async with anyio.create_task_group() as tg:
async def handle_messages():
async for message in server_session.incoming_messages:
async for message in server_session.incoming_messages: # pragma: no cover
await server._handle_message(message, server_session, {}, False)
tg.start_soon(handle_messages)

View file

@ -410,11 +410,8 @@ async def test_create_message_tool_result_validation():
# Case 8: empty messages list - skips validation entirely
# Covers the `if messages:` branch (line 280->302)
with anyio.move_on_after(0.01):
await session.create_message(
messages=[],
max_tokens=100,
)
with anyio.move_on_after(0.01): # pragma: no cover
await session.create_message(messages=[], max_tokens=100)
@pytest.mark.anyio

View file

@ -409,7 +409,9 @@ async def test_sse_post_requires_the_credential_that_created_the_session(
scope = _sse_scope("GET", "/sse", creator_user)
with anyio.fail_after(5):
async with transport.connect_sse(scope, get_receive, get_send) as (read_stream, write_stream):
async with read_stream, write_stream:
async with read_stream, write_stream: # pragma: no branch
# ^ coverage.py misses the ->exit arc on 3.11+ when the body
# is nested inside multiple async with blocks
async for _ in read_stream:
pass