Skip to content

feat: Add interactive mutation inspector#1

Merged
zalanlevai merged 25 commits into
mainfrom
inspector
May 23, 2026
Merged

feat: Add interactive mutation inspector#1
zalanlevai merged 25 commits into
mainfrom
inspector

Conversation

@zalanlevai

@zalanlevai zalanlevai commented Nov 18, 2025

Copy link
Copy Markdown
Owner

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.

@zalanlevai zalanlevai changed the title feat: Add initial version of interactive mutation inspector feat: Add interactive mutation inspector Nov 18, 2025
@zalanlevai
zalanlevai force-pushed the inspector branch 4 times, most recently from 71c33fe to 4f4b43c Compare November 18, 2025 16:45
zalanlevai and others added 3 commits November 28, 2025 19:26
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
zalanlevai force-pushed the inspector branch 4 times, most recently from 1f3335d to 16669ac Compare April 18, 2026 14:52
@zalanlevai
zalanlevai force-pushed the inspector branch 2 times, most recently from dacae30 to 487a6cd Compare April 18, 2026 17:01
@zalanlevai
zalanlevai force-pushed the inspector branch 2 times, most recently from f49da52 to eb800b7 Compare April 20, 2026 06:53
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>
zalanlevai added 3 commits May 1, 2026 19:55
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
zalanlevai marked this pull request as ready for review May 23, 2026 13:55
@zalanlevai
zalanlevai merged commit 05ff40c into main May 23, 2026
3 checks passed
@zalanlevai
zalanlevai deleted the inspector branch June 23, 2026 19:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant