Skip to content

Add description why each mutant got killed #444

@Otto-AA

Description

@Otto-AA

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions