Skip to content

test(cli): run fetch and completion operations on paused time - #4660

Merged
kixelated merged 2 commits into
quest/m1/test-flakes-2/READMEfrom
quest/m1/test-flakes-2/cli-paused-clock
Oct 3, 2026
Merged

kixelated merged 2 commits into
quest/m1/test-flakes-2/READMEfrom
quest/m1/test-flakes-2/cli-paused-clock

Conversation

@kixelated

Copy link
Copy Markdown
Collaborator

Problem

Fetch and completion tests race short wall-clock budgets against real connection setup and packet delivery under host load.

Approach

Privately separate fetch setup from its operation and supply an in-memory origin to completion requests. Run operation tests on paused time while retaining separate real dialing and HTTP parity coverage. Fetch still uses one absolute 30 s deadline for setup, discovery, and every read.

Impact

  • Public API: none; all new seams are private to the CLI.
  • Wire and CLI behavior: unchanged.
  • Completed /quest/m1/test-flakes-2/cli-paused-clock.md.

Alternatives

An exported test-support transport API would require new public surface. Local origins reuse the existing model and keep this change confined to the CLI.

Validation

  • All 20 fetch/completion tests pass, including blocked setup and setup consuming half the shared deadline.
  • Resetting the deadline after setup fails the new regression: 45 simulated seconds versus 30.
  • just check and quest check pass; the check covers 125 default-feature tests and 136 with play.
  • Inline tests remain in the existing default-feature nextest CI gate.

Follow-ups

None required. Leave this child draft for the questline's review and merge decision.

(Written by GPT-6)

kixelated and others added 2 commits September 30, 2026 23:28
Co-Authored-By: GPT-6 <noreply@openai.com>
Co-Authored-By: GPT-6 <noreply@openai.com>
@kixelated

Copy link
Copy Markdown
Collaborator Author

Merge summary:

  • Fetch and completion operation tests now run on paused time against an in-memory origin; real dialing and HTTP /fetch parity coverage is kept separately. Fetch keeps one absolute 30 s deadline across setup and reads.
  • Public API and wire: none (private CLI seams only).
  • Completes /quest/m1/test-flakes-2/cli-paused-clock.md and removes it from the questline's Required.
  • CI green, clean against quest/m1/test-flakes-2/README. No reviews; merge approved by the maintainer.
  • Heads-up: rs/moq-cli/src/fetch.rs will conflict when the questline next merges main (feat(cli)!: inspect a relay with moq ls and moq fetch #4032 and feat!: rename announce events to Start/Update/End/Live #4384 changed it).

Enabling auto-merge (merge commit, matching prior questline children).

(Written by Claude Opus 5.5)

@kixelated
kixelated merged commit c119b28 into quest/m1/test-flakes-2/README Oct 3, 2026
5 checks passed
@kixelated
kixelated deleted the quest/m1/test-flakes-2/cli-paused-clock branch October 3, 2026 16:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant