Skip to content

Mutation Testing Elements - Add support for frameworks that export in MTE#45

Merged
SecretSheppy merged 37 commits intomainfrom
mte-frameworks
Apr 25, 2026
Merged

Mutation Testing Elements - Add support for frameworks that export in MTE#45
SecretSheppy merged 37 commits intomainfrom
mte-frameworks

Conversation

@SecretSheppy
Copy link
Copy Markdown
Owner

@SecretSheppy SecretSheppy commented Apr 23, 2026

Lots of frameworks support exporting in the MTE format. I am currently adding the mtelib package which will provide a reusable range of methods for any framework that supports it. alongside that I am working on adding support for Mull

@SecretSheppy SecretSheppy self-assigned this Apr 23, 2026
@SecretSheppy SecretSheppy added the enhancement New feature or request label Apr 23, 2026
@SecretSheppy
Copy link
Copy Markdown
Owner Author

Other frameworks that can be supported immediately when this PR is completed:

@SecretSheppy
Copy link
Copy Markdown
Owner Author

I've been experimenting with generating descriptions for Mull as it does not provide them, it has turned out pretty well:

image

@SecretSheppy
Copy link
Copy Markdown
Owner Author

I have just added a more precise version of the generic message specifically for deletion mutations. Instead of

Replaced x with ``

it will now just display

Removed x

image

@SecretSheppy
Copy link
Copy Markdown
Owner Author

Mull seems to have significant issues with "broken" mutations (mutations where the end position occurs before the start position, most commonly at (0, 0)). I have added a system that extracts the broken mutations and dumps them in a fwname-broken.json file. This ensures that the broken mutations do not cause errors.

image

which exports mutants that look like this:

image

@SecretSheppy
Copy link
Copy Markdown
Owner Author

image

I've just noticed that the new statuses have been automatically added to the overview table (nice to be surprised like that sometimes 🤣 ) though it does now scroll horizontally when you have some longer file paths. I'm not a huge fan of this so it might be good to work out a solution for that.

this is a very useful reusable configuration, so it made more sense to just put it into the framework library
Now imports the filters menu script first, which ensures that the tree scroll position is adjusted for whether the menu is open or closed.

Closes #46
@SecretSheppy
Copy link
Copy Markdown
Owner Author

SecretSheppy commented Apr 24, 2026

I forgot to mention but 4eb6ae7 Closes #44 and #33

@SecretSheppy
Copy link
Copy Markdown
Owner Author

image stryker-net is supported, but has lots of block removal operations that often leave the pages full of very large blocks of repeated code. might need to look at collapsing these at some point.

@SecretSheppy
Copy link
Copy Markdown
Owner Author

The Mull framework for Marv can now attempt to fix broken mutations:

image

Its not 100% accurate, but you can usually deduce what it is trying to say very easily. I think having these show is preferable to just dumping them all.

@SecretSheppy
Copy link
Copy Markdown
Owner Author

image stryker-net is supported, but has lots of block removal operations that often leave the pages full of very large blocks of repeated code. might need to look at collapsing these at some point.

For the moment, this can be solved by just disabling the Block removal mutation operation, if that's possible.

Comment thread fws/mull/mull.go
Comment thread internal/cmds/root.go
@SecretSheppy SecretSheppy added the new framework Request will add support for a new framework(s) when merged label Apr 25, 2026
@SecretSheppy SecretSheppy marked this pull request as ready for review April 25, 2026 22:56
@SecretSheppy SecretSheppy merged commit 3a2e9c0 into main Apr 25, 2026
1 check failed
@SecretSheppy SecretSheppy deleted the mte-frameworks branch April 25, 2026 22:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request new framework Request will add support for a new framework(s) when merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant