feat: Add interactive mutation inspector#1
Merged
Merged
Conversation
zalanlevai
force-pushed
the
inspector
branch
4 times, most recently
from
November 18, 2025 16:45
71c33fe to
4f4b43c
Compare
zalanlevai
force-pushed
the
inspector
branch
from
November 25, 2025 21:01
86792b6 to
049e79c
Compare
Co-authored-by: SecretSheppy <62794249+SecretSheppy@users.noreply.github.com>
Much of this commit is a system for storing mappings between source code line byte offsets, and the corresponding byte offsets in various annotated line representations, such as HTML spans for syntax highlighting and annotations. This system distinguishes between "breakable" and "unbreakable" line segments, and allows for inserting additional unbreakable line segments after initial creation. This allows for adding annotations on top of already syntax highlighted code, without having to recreate the syntax highlighted strings in any way.
zalanlevai
force-pushed
the
inspector
branch
from
November 28, 2025 19:30
049e79c to
3a4b55d
Compare
zalanlevai
force-pushed
the
inspector
branch
4 times, most recently
from
April 18, 2026 14:52
1f3335d to
16669ac
Compare
zalanlevai
force-pushed
the
inspector
branch
2 times, most recently
from
April 18, 2026 17:01
dacae30 to
487a6cd
Compare
zalanlevai
force-pushed
the
inspector
branch
2 times, most recently
from
April 20, 2026 06:53
f49da52 to
eb800b7
Compare
Co-authored-by: SecretSheppy <62794249+SecretSheppy@users.noreply.github.com>
Co-authored-by: SecretSheppy <62794249+SecretSheppy@users.noreply.github.com>
When naming source locations, rustc uses absolute paths for any remote crate's spans, including workspace-local ones. This unnecessarily ties the file paths in the JSON metadata output to whatever location they were originally produced in. To turn these back into workspace-local paths, we strip the current directory prefix from all paths. The current directory used is the worskspace root directory under Cargo invocations.
Remove the experimental `--Zwrite-json` flag/option. By default, JSON metadata files are written to `target/mutest/json`, according to the `target` directory set. The `--json-out-root-dir` option can be used to change the JSON metadata root directory being written to, and JSON metadata writing can be completely disabled using the `--no-write-json` flag. This change does not include stabilizing the JSONL evaluation event stream.
Co-authored-by: SecretSheppy <62794249+SecretSheppy@users.noreply.github.com>
Add an `--open[=<PACKAGE>[/<TARGET_SPEC>]]` option to mutest-inspector to be able to open a specific package or Cargo target in the inspector. This is used by cargo-mutest to automatically open the targeted package or Cargo target after running with the `--inspect=open` option.
zalanlevai
marked this pull request as ready for review
May 23, 2026 13:55
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR is recording the ongoing upstreaming of @SecretSheppy's work on an interactive, web-based mutation inspector for mutest-rs.
This was originally developed during the summer under my supervision. Their original code can be found in the research repository at rust-mutation-testing@fb24270.
This version of the inspector takes the findings from their work, and includes other agreed upon changes based on the initial prototype.