Three unit tests flake on timing in the Coverage job

Offen
#4,321 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
55/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
node.js, typescript
Bereich
testing-qa

Rechercherichtung

Start with artifact-tracking.test.ts, snapshot-source/lifecycle.test.ts, and remote-test-artifacts-materialization.test.ts; inspect each timing assertion and the async work it observes. Run them under the Coverage job's parallelism and identify whether each depends on a real-time sleep, wall-clock bound, or unawaited step. Done means all three pass 20 consecutive runs without added real-time waits, wider timeouts, retries, or skips.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug ready-for-agent

Purpose

Three unit tests fail intermittently on timing in the Coverage job. #4316 found them while measuring every Coverage failure from 2026-11-05 to 2026-11-07: 7 of the 34 failed attempts in that window were these tests, on PRs that don't touch them.

Current behavior

The flaky tests:

  • artifact-tracking.test.ts
  • snapshot-source/lifecycle.test.ts
  • remote-test-artifacts-materialization.test.ts

Each fails on a timing assertion or timeout under load and passes when rerun. Once #4316 lands, the failing test and line appear as a check annotation on the PR.

Required behavior

  • For each test, find what it times: a real-time sleep, a wall-clock bound, or an unawaited async step.
  • Make it deterministic with fake timers, awaited events or an explicit ordering signal. Don't widen the timeout or retry the test.
  • Don't skip any of the three.

Completion conditions

  • Each test passes 20 consecutive runs under the Coverage job's parallelism, locally or in CI.
  • No new real-time waits are added.

Dependencies

#4316 (annotations), which makes future recurrences visible.

Vorherrschende Sprache
TypeScript
Sterne
5.3k
Forks
377
Ø Merge
14 Std. 24 Min.
Gemergte PRs (30 T.)
675

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus callstack/agent-device

Alle Issues in callstack/agent-device

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.