Skip to content

Support ReTestItems / TestItemRunner layouts in survivor-coverage blame #5

Description

@JohnCobbler

--blame attributes each surviving mutant to the test file(s) covering its line. It finds those files by parsing runtests.jl for include("test_*.jl") statements (see detect_units in src/blame.jl).

That assumption breaks on the modern layout. A ReTestItems / TestItemRunner runtests.jl is often just:

using ReTestItems
runtests(MyPkg)

No include(...), no top-level @testset. Blame then finds zero units and silently marks every survivor "unattributed". (Whole-suite mutation is unaffected — this is a blame-only gap.)

Two ways to close it. The minimum is to detect the layout and say per-file blame is unsupported for it, instead of degrading silently. The better fix enumerates *_test.jl / *_tests.jl files as units directly — that is ReTestItems' own naming rule — and drives per-unit coverage off them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions