[v1.x] Support Python 3.14 (#2769)
This commit is contained in:
parent
62137874ff
commit
494eb11d36
7 changed files with 224 additions and 42 deletions
|
|
@ -312,7 +312,7 @@ async def test_task_metadata_in_call_tool_request() -> None:
|
|||
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)
|
||||
|
|
@ -392,7 +392,7 @@ async def test_task_metadata_is_task_property() -> None:
|
|||
) as server_session:
|
||||
async with anyio.create_task_group() as tg:
|
||||
|
||||
async def handle_messages():
|
||||
async def handle_messages(): # pragma: no cover
|
||||
async for message in server_session.incoming_messages:
|
||||
await server._handle_message(message, server_session, {}, False)
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ async def test_request_cancellation():
|
|||
)
|
||||
|
||||
# Give cancellation time to process
|
||||
with anyio.fail_after(1):
|
||||
with anyio.fail_after(1): # pragma: no cover
|
||||
await ev_cancelled.wait()
|
||||
|
||||
|
||||
|
|
@ -176,7 +176,7 @@ async def test_response_id_type_mismatch_string_to_int():
|
|||
tg.start_soon(mock_server)
|
||||
tg.start_soon(make_request, client_session)
|
||||
|
||||
with anyio.fail_after(2):
|
||||
with anyio.fail_after(2): # pragma: no cover
|
||||
await ev_response_received.wait()
|
||||
|
||||
assert len(result_holder) == 1
|
||||
|
|
@ -232,7 +232,7 @@ async def test_error_response_id_type_mismatch_string_to_int():
|
|||
tg.start_soon(mock_server)
|
||||
tg.start_soon(make_request, client_session)
|
||||
|
||||
with anyio.fail_after(2):
|
||||
with anyio.fail_after(2): # pragma: no cover
|
||||
await ev_error_received.wait()
|
||||
|
||||
assert len(error_holder) == 1
|
||||
|
|
@ -289,7 +289,7 @@ async def test_response_id_non_numeric_string_no_match():
|
|||
tg.start_soon(mock_server)
|
||||
tg.start_soon(make_request, client_session)
|
||||
|
||||
with anyio.fail_after(2):
|
||||
with anyio.fail_after(2): # pragma: no cover
|
||||
await ev_timeout.wait()
|
||||
|
||||
|
||||
|
|
@ -335,7 +335,7 @@ async def test_connection_closed():
|
|||
tg.start_soon(make_request, client_session)
|
||||
tg.start_soon(mock_server)
|
||||
|
||||
with anyio.fail_after(1):
|
||||
with anyio.fail_after(1): # pragma: no cover
|
||||
await ev_closed.wait()
|
||||
with anyio.fail_after(1):
|
||||
with anyio.fail_after(1): # pragma: no cover
|
||||
await ev_response.wait()
|
||||
|
|
|
|||
Loading…
Reference in a new issue