For both, UX and debugging, it would be good to have a description on why a mutant got killed/timeouted/etc.
For instance:
- Killed because Test abc failed with "AssertionError 1 != 2" at <path/to/file.py:123>
- Survived because all tests passed
- Stopped because tests did not finish within 123 seconds. Tests without mutation took 2 seconds.
- Test run exited with unknown exit code 45
- ...
For some results it could be useful to see which tests were executed for this mutant. Maybe this could be included in the mutmut browse UI (in a "Details..." section?), or via e.g. mutmut show <mutant-name> --tests.
The necessary data could be stored as an additional property in SourceFileMutationData and then built into descriptions in the mutmut browse UI.
How we collect the data depends on the type, e.g. for killed we will need a pytest plugin that collects the stacktrace (probably longrepr) and stores whatever is relevant for us.
Related issues: #392
For both, UX and debugging, it would be good to have a description on why a mutant got killed/timeouted/etc.
For instance:
For some results it could be useful to see which tests were executed for this mutant. Maybe this could be included in the
mutmut browseUI (in a "Details..." section?), or via e.g.mutmut show <mutant-name> --tests.The necessary data could be stored as an additional property in
SourceFileMutationDataand then built into descriptions in themutmut browseUI.How we collect the data depends on the type, e.g. for killed we will need a pytest plugin that collects the stacktrace (probably longrepr) and stores whatever is relevant for us.
Related issues: #392