8 Commits
Author SHA1 Message Date
Robert C. Martin a5a0cb803b Count multi-line statement sites as covered from their start line; skip TypeScript type positions 2026-10-21 14:33:45 -05:00
Robert C. Martin ba4065f3f1 Stop shelling generated test commands and fail closed on git and coverage.
A package path is one argument. Git status uses NUL records and returns git's status. A failed coverage command leaves reports unread, coverage keeps the longest path match, and site walks no longer recurse.
2026-10-03 17:48:32 -05:00
Robert C. Martin 1bad4b908a Mutate ?? and ?. in TypeScript and JavaScript, including Express handlers. 2026-10-03 08:49:10 -05:00
Robert C. Martin b35a9caf6f Run Python tests with the project's virtualenv.
Mutator's interpreter does not have the project installed, so the baseline failed before any mutant ran.
2026-10-02 10:29:11 -05:00
Robert C. Martin 4a9d0c0a5c Copy relative importers into the worker so Node loads the mutant.
Node resolves a relative import from the real path of the module. A symlinked test was loading the original source, so every mutant survived. Modules that reach the file under test are now real copies in the overlay.
2026-10-01 10:46:47 -05:00
Robert C. Martin 21d6d6f50b Run a file's mutants at the same time in symlink overlays.
Each worker keeps a private copy of the file under test and links the rest of the project, so the original tree stays put. The default is one worker per core, and --max-workers can set a lower cap.
2026-09-30 15:23:42 -05:00
Robert C. Martin 63fe452adb Add tests that kill the mutation survivors the suite can reach.
A self-run left covered gaps and live mutants. These cases exercise the real boundaries and leave equivalent mutants and lines coverage cannot see.
2026-09-30 14:39:16 -05:00
Robert C. Martin bf42bd22e7 Add a multi-language mutation tester that writes .metrics/mutate for uml-viewer. 2026-09-30 10:40:54 -05:00