conformance/src/runner
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Avi Seth 88ac3e595f
fix(runner): bound server scenarios with a per-scenario timeout (#454)
The client runner has had a 30s per-scenario timeout since it was written,
but `runServerConformanceTest` awaited `scenario.run(ctx)` with no bound. A
server under test that accepts the TCP connection and then never answers an
initialize POST, a tools call, or an SSE read stalled the entire suite run,
not just its own scenario.

#316 bounded the session-termination DELETEs in teardown, but that is a
call-site fix: covering the rest that way needs the same treatment on every
raw fetch in every scenario. Bounding at the runner makes those per-call
bounds defense-in-depth instead of the only protection.

`--timeout` now applies to server mode too, with the same 30s default as
client mode. On expiry the scenario reports a `scenario-timeout` FAILURE
naming the elapsed bound, so a wedged server reads as a failing scenario
rather than a hung process.

The timed-out scenario promise is left pending deliberately — a read blocked
on a socket has no cancellation channel — with its rejection swallowed so a
late failure can't surface against whichever scenario is running by then.

Fixes #427

Co-authored-by: Avi Seth <aviseth@users.noreply.github.com>
2026-09-06 20:14:58 +01:00
..
authorization-server.ts feat: CIMD support check for authorization-server metadata (supersedes #235) (#365) 2026-06-24 16:53:00 +01:00
client.test.ts feat: version-aware MockServer abstraction for client scenarios (#321) 2026-06-03 15:09:36 +01:00
client.ts Validate all wire messages against the per-version spec JSON schema (#399) 2026-07-27 15:58:43 +01:00
DESIGN.md tsdown + cli with commander (#17) 2025-11-11 11:51:55 +00:00
index.ts feat: make results directory output optional (#107) 2026-01-14 20:16:28 +00:00
server.test.ts fix(runner): bound server scenarios with a per-scenario timeout (#454) 2026-09-06 20:14:58 +01:00
server.ts fix(runner): bound server scenarios with a per-scenario timeout (#454) 2026-09-06 20:14:58 +01:00
utils.ts feat: make results directory output optional (#107) 2026-01-14 20:16:28 +00:00