Skip to content

Mutation testing on the generator #44

Description

@iderex

Depends on the golden files issue and the parity ledger issue.

Coverage says a line ran. It does not say the suite would have noticed if the
line were wrong. Mutation testing asks the second question by changing the
implementation and checking that something goes red.

The target gate uses a mutation tool that exists only for .NET, so the tool here
is a different one and the ledger records that as a deviation with this reason.
What does not change is the obligation: the suite has to fail when the
implementation is wrong.

Scope it to the code where a silent wrong answer matters, which is the parser,
the state derivation and the escaping path, rather than the whole tree. A score
over template plumbing is a number that moves without meaning anything.

The score is recorded with the run rather than turned straight into a threshold.
A threshold set before there is a baseline is a number somebody invented, and
the first thing it does is get lowered.

If no maintained tool clears the bar for this toolchain, this issue does not
close by declaring the obligation met. It closes by recording which tools were
tried, what each one did, and what would retire the gap. A debt written down is
a different thing from a gap nobody mentioned.

Done when

Either a named tool runs over the three scoped packages in the gate and the
score is recorded with the run, or the issue carries the tools that were tried,
what each one failed at, and the condition that would retire the debt.

Metadata

Metadata

Assignees

Labels

blocked-on-a-decisionWaits on a decision that is not taken yet. No change to this tree moves it.tests

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions