CodeVetter · Repo Unpack · Testing signals
istanbuljs/nyc
Tests and CI were inspected, not executed; test existence establishes intended checks, not passing results. TAP tests combine direct NYC calls, spawned CLI fixtures, and output snapshots. Development tests generally target generated self-coverage copies, with a separate coverage variable and exit writer. Coverage inspection is bounded, and explicit Windows branches and ignored error paths limit what the configured checks establish.
- package.json specifies TAP ^18.7.2 and Standard lint; .taprc disables TAP coverage, excludes helper/fixture paths, sets one job and a 360-second timeout, and preloads self-coverage-helper.js. These settings and CI were inspected only.
- build-self-coverage.js instruments runtime files into self-coverage using ___NYC_SELF_COVERAGE___; test helper paths resolve the generated CLI, and self-coverage-helper writes that separate global coverage at exit.
- CLI integration tests define checks for threshold success/failure, failing child status, configuration precedence, argument forwarding, process trees, and both spawn-wrap settings; testSuccess asserts zero status, empty stderr, and a stdout snapshot.
- test/instrument.js checks mode preservation, complete-copy, include/exclude behavior, explicit in-place operation, outside-root rejection, and deletion guards.
- Collection tests assert zero counters for unloaded --all sources and nonzero counters after require(); cache tests run collision and identical-file fixtures and assert child status 0.
- Source-map tests cover external/inline maps, cache-file creation, exclude-after-remap behavior, and --all in a module package; TypeScript tests run committed mapping.js with mapping enabled and disabled, rather than directly testing a TypeScript loader.
- Process tests inspect matching UUID coverage/process files and external-ID indexing; SIGTERM/SIGINT tests return without assertions on Windows, and nyc.config.js disables threshold enforcement there despite configured 100% thresholds.
- CI declares npm test on Ubuntu Node 20/24 and Windows lts/*, but suppressEPIPE and several parent-completion error branches are explicitly excluded from instrumentation; no execution results were collected.