PSMutant
0.3.2
Minimum PowerShell version
7.2
Installation Options
Owners
Copyright
(c) Fortigi. MIT licensed.
Package Details
Author(s)
- Fortigi
Tags
mutation-testing testing pester ast quality test-quality coverage
Functions
Dependencies
This module has no dependencies.
Release Notes
**A per-mutant timeout that resolves too low is now refused instead of faking a perfect
score.** The budget is `max(timeoutFloorSeconds, baseline x timeoutFactor)`, and with a small
enough floor *and* factor it could resolve to zero. A zero-second budget expires immediately,
an expired mutant counts as a kill, and so every mutant was killed on the clock rather than on
behaviour -- 100%, exit 0, over tests that never ran. The budget must now be at least as long
as your unmutated suite took, and a config that asks for less fails with a message saying so.
If this affects you, your reported score was wrong in the flattering direction, and the run
that fails after upgrading is the honest one.
**A config path that escapes the source root is now refused.** Every path in a config is
copied into a temp sandbox and mutated there; a leading `..` survived that mapping, so a path
like `../shared/Util.ps1` was mutated **where it lives**, in your working tree. Interrupt such
a run and the mutated file stays on disk. Paths that merely contain `..` and still resolve
inside -- `src/../src/a.ps1` -- keep working.
FileList
- PSMutant.nuspec
- LICENSE
- PSMutant.psd1
- PSMutant.psm1
- README.md
- schemas\v1\config.schema.json
- schemas\v1\report.schema.json
- src\Invoke-PSMutation.ps1
- src\PSMutation.Config.ps1
- src\PSMutation.Operators.ps1
- src\PSMutation.Output.ps1
- src\PSMutation.Pester.ps1
- src\PSMutation.Recheck.ps1
- src\PSMutation.Report.ps1
- src\PSMutation.Runner.ps1
- src\PSMutation.Sandbox.ps1