CodeVetter · Repo Unpack · Testing signals
avajs/ava
Tests and CI were inspected, not executed; no passing results or measured coverage are asserted. AVA uses @ava/test for runtime integration tests, TAP for internal suites, and TypeScript compilation for declaration cases. Inspected coverage includes configuration, worker selection, snapshots, scheduling, watch interactions, and shared-worker lifecycle. The inventory is bounded, and CI contains explicit platform and concurrency accommodations.
- The inspected npm test script runs XO, tsc --noEmit, @ava/test's test-ava command, TAP, and c8 reporting; these commands were read but not executed.
- ava.config.js selects test files while excluding fixtures/helpers; .taprc separately includes TAP unit, reporter, and integration files with a 300-second timeout.
- Integration helpers launch the real CLI through execaNode, set TEST_AVA and TEST_AVA_IMPORT_FROM, capture output, and consume IPC results; worker tests cover default threads and both child-process selection mechanisms.
- Configuration tests exercise package settings, explicit overrides, conflicts, factory returns, defaults, and wrapped errors; TAP Runner cases exercise synchronous declarations and emitted events.
- Snapshot selection tests specify preservation of skipped snapshots/tests and targeted updates by title or lines; scheduler tests specify failure-first ordering and disabled-cache behavior.
- Watch tests exercise instructions, SIGINT, reruns, and snapshot updates, with a Windows output-capture fallback; shared-worker lifecycle tests check availability and teardown output.
- CI defines Node 22/24/26 jobs across Linux, Windows, and macOS, TypeScript 5.9/6.0 checks, lint and lockfile jobs; scripts/ci.sh runs watch tests serially and excludes two reporter suites outside Linux.
- Coverage configuration excludes entrypoints, examples, declarations, and tests; type cases are compile inputs, and shared-worker source explicitly identifies delayed messages after deregistration as difficult to test.