NetEvolve.FrameShift.Execution
0.25.0
Prefix Reserved
dotnet tool install --global NetEvolve.FrameShift.Execution --version 0.25.0
dotnet new tool-manifest
dotnet tool install --local NetEvolve.FrameShift.Execution --version 0.25.0
#tool dotnet:?package=NetEvolve.FrameShift.Execution&version=0.25.0
nuke :add-package NetEvolve.FrameShift.Execution --version 0.25.0
NetEvolve.FrameShift.Execution
frameshift is a .NET tool that runs execution-based mutation verification: it recompiles a
production source file with one mutation applied at a time, runs the already-built test project
against each mutant, and reports whether the test suite actually kills it. Where the
NetEvolve.FrameShift analyzer answers
"is this mutation point reachable from any test" at build time without executing anything, this
tool answers the stronger question - "does the test suite actually fail" - by running the tests
for real, against every generated mutant.
Installation
.NET CLI (global tool)
dotnet tool install --global NetEvolve.FrameShift.Execution
.NET CLI (local tool)
dotnet tool install --local NetEvolve.FrameShift.Execution
Usage
The test project must already be built - frameshift recompiles only the production source files
it is given, against the test assembly and its dependencies already present in that build output.
Usage: frameshift --test-output <dir> --production-dll <file.dll> --test-dll <file.dll> --source <file.cs> [--source <file.cs> ...] [--timeout-seconds <seconds>]
--test-output The build output directory of the test project (contains the test
assembly, the production assembly and every dependency of both).
--production-dll The file name of the production assembly inside that directory,
e.g. MyApp.dll. Recompiled fresh from --source; the copy already in
the output directory is never read.
--test-dll The file name of the test assembly inside that directory.
--source A production source file to compile and generate mutations from.
Repeatable.
--timeout-seconds How long to wait for the test host of a single mutant before it is
killed and the mutant is reported as timed out. Defaults to 60.
Example, run after dotnet build has produced bin/Debug/net10.0 for the test project:
frameshift \
--test-output tests/Calculator.Tests/bin/Debug/net10.0 \
--production-dll Calculator.dll \
--test-dll Calculator.Tests.dll \
--source src/Calculator/Rates.cs
The exit code answers "did the run complete", not "did the code pass mutation testing": 0 means
a score was produced, whatever it is, and a non-zero code means the invocation itself was wrong or
the run was interrupted. Gating a build on a minimum mutation score is a policy decision this tool
deliberately does not make on a caller's behalf.
Documentation
For complete documentation, please visit the official documentation.
Contributing
Contributions are welcome! Please read the Contributing Guidelines before submitting a pull request.
Support
- Issues: Report bugs or request features on GitHub Issues
- Documentation: Read the full documentation at https://github.com/dailydevops/frameshift
License
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by the NetEvolve Team Visit us at https://www.daily-devops.net for more information about our services and solutions.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.25.0 | 48 | 8/3/2026 |