Skip to content

Commit cec4a2d

Browse files
committed
test: tighten remaining deferral reasons to reflect SDK feature gaps
1 parent 9fb50a1 commit cec4a2d

1 file changed

Lines changed: 14 additions & 14 deletions

File tree

tests/interaction/_requirements.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -854,9 +854,9 @@ def __post_init__(self) -> None:
854854
source=f"{SPEC_BASE_URL}/server/resources#subscriptions",
855855
behavior="After resources/unsubscribe the server stops sending updated notifications for that URI.",
856856
deferred=(
857-
"The SDK keeps no subscription state -- emitting updated notifications is entirely handler "
858-
"code -- so there is no SDK behaviour to pin beyond the unsubscribe request reaching the "
859-
"handler (covered by resources:unsubscribe)."
857+
"Not implemented in the SDK: the server keeps no subscription state, so whether updated "
858+
"notifications stop after unsubscribe is entirely handler code; there is no SDK behaviour to "
859+
"pin beyond the unsubscribe request reaching the handler (covered by resources:unsubscribe)."
860860
),
861861
),
862862
"resources:updated-notification": Requirement(
@@ -2327,9 +2327,9 @@ def __post_init__(self) -> None:
23272327
),
23282328
transports=("streamable-http",),
23292329
deferred=(
2330-
"Not yet covered here: the standalone GET stream emits no priming event or retry hint, so "
2331-
"the client's reconnection path always sleeps the hard-coded 1 s default; a deterministic "
2332-
"in-process test would inject real-time delay or require an SDK change. The POST-stream "
2330+
"Not implemented in the SDK: the server's standalone GET stream emits no priming event or "
2331+
"retry hint, so the client's reconnection path always sleeps the hard-coded 1 s default; a "
2332+
"deterministic in-process test would require accepting that real-time wait. The POST-stream "
23332333
"reconnection path is covered by client-transport:http:reconnect-post-priming."
23342334
),
23352335
),
@@ -2647,10 +2647,10 @@ def __post_init__(self) -> None:
26472647
),
26482648
transports=("stdio",),
26492649
deferred=(
2650-
"Not yet covered here: a server that ignores stdin close takes the full "
2651-
"PROCESS_TERMINATION_TIMEOUT (2.0 s) grace period plus up to a further 2.0 s for "
2652-
"SIGTERM/SIGKILL escalation; a robust test of that path is real-time-bound and the constant "
2653-
"is module-level (no public override). Covered by tests/client/test_stdio.py."
2650+
"A server that ignores stdin close takes the full PROCESS_TERMINATION_TIMEOUT (2.0 s) grace "
2651+
"period plus up to a further 2.0 s for SIGTERM/SIGKILL escalation; testing that path is "
2652+
"real-time-bound (the constant is module-level with no public override) and so is deliberately "
2653+
"excluded from this suite. Covered by tests/client/test_stdio.py."
26542654
),
26552655
),
26562656
"transport:stdio:stderr-passthrough": Requirement(
@@ -2704,10 +2704,10 @@ def __post_init__(self) -> None:
27042704
),
27052705
transports=("streamable-http",),
27062706
deferred=(
2707-
"No public per-session post-initialization hook exists on either server flavour "
2708-
"(Server.lifespan runs at server startup, not per session; ServerSession handles the "
2709-
"initialized notification internally with no callback). Driving 'before any client "
2710-
"request' deterministically would also require knowing the standalone GET stream is "
2707+
"Not implemented in the SDK: no public per-session post-initialization hook exists on either "
2708+
"server flavour (Server.lifespan runs at server startup, not per session; ServerSession "
2709+
"handles the initialized notification internally with no callback). Driving 'before any "
2710+
"client request' deterministically would also require knowing the standalone GET stream is "
27112711
"established, which has no synchronization signal."
27122712
),
27132713
),

0 commit comments

Comments
 (0)