Outcome totals and failure bookkeeping accumulated across every group of a single run. Every field here is mutated in place — see RunState for why replacement is unsafe.
import * as RunState from './setup/run-state.ts'; const { results } = RunState.create(); results.counter.passed += 1; // mutate the shared object in place — never replace it
failedFiles: Set<string>
Absolute paths of test files with ≥1 failure in the current run, attributed per-test via source maps. Every group adds into this one set; persisted to the failure cache at run end.
Per-test metadata for the current run's failures; accumulated alongside failedFiles.
coverage: CoverageFileMap | null
Accumulator for per-source line coverage when coverage is enabled; null when it is off.
Reassigned only by RunState.reset (a fresh Map per run), never by a group.
aborted: boolean
Whether the browser confirmed it dropped this run's remaining queue — qq, session.abort(),
or an aborted signal. Lives here rather than on the group because groups share this object
by reference, so one aborted group marks the whole run without any cross-group plumbing.
Load-bearing for the result: an aborted run and a red run both end with failures and exit 1, and nothing else distinguishes "I stopped it" from "it broke".