CodeVetter · Repo Unpack · Testing signals
dubzzz/fast-check
Tests and CI were inspected, not executed; no passing result or coverage percentage is asserted. Vitest discovers tests across packages, examples, and website, with both colocated specifications and package-level integration suites. The inspected tests address execution, replay, generator invariants, scheduler behavior, worker timeouts, and adapter subprocess integration. Coverage configuration and documentation filters impose explicit limits, and this inventory is bounded rather than exhaustive.
- Root Vitest configuration discovers test/spec files across workspace projects, excludes test-bundle, .test-artifacts, and tutorial templates, sets a 120-second timeout, and scopes coverage to core source.
- Colocated Runner.spec.ts checks default run counts, generation/execution ordering, endOnFailure, replay-before-shrink-suppression, rejected assertions, reproduction messages, and original-error causes.
- ReplayFailures integration tests reconstruct counterexamples with sample(seed,path), rebuild shrink-path prefixes, replay the minimal failure, test endOnFailure behavior, and reject impossible replay paths.
- ArbitraryAssertions uses fast-check itself to compare generated and shrunk values from identical seeds; an afterEach plugin checks global poisoning and attempts restoration before rethrowing a detected change.
- Scheduler specifications use Vitest mocks and controlled unresolved promises to check empty-queue errors, task selection, act wrapping, and waiting; worker E2E tests assert a timeout for a predicate that blocks its worker event loop.
- Vitest adapter integration tests generate isolated specification/config files, invoke a child Node/Vitest process, and inspect textual pass/fail/skip markers; child environments remove listed agent variables to preserve reporter output.
- Documentation tests scan core-block arbitrary Markdown, evaluate selected snippets, compare regenerated content, and optionally write updates; SKIP_DOCUMENTATION bypasses them, and Unicode examples explicitly depend on the runtime's Unicode version.
- CI defines sharded Linux tests on Node 22/24/latest and macOS/Windows tests on Node 24, enables coverage on macOS, and separately checks packaged bundles and TypeScript latest/5.8 fixtures; configured core-only coverage does not quantify adapter or website coverage.