PropertyDamage.Progress.MutationUpdate (PropertyDamage v0.2.0)

View Source

Intermediate progress for PropertyDamage.Mutation.run/1 (DR-022): the outcome of testing a single mutation. Not the authoritative result — see PropertyDamage.Progress.MutationResult.

One update is emitted per mutation as it is killed, survived, or timed out. Each update is self-contained: it names the command whose events were mutated, the operator that produced the mutation, the result, an optional failure_message (present when the mutation was killed), and the wall-clock duration_ms of that mutation's test.

Summary

Types

result()

@type result() :: :killed | :survived | :timeout

t()

@type t() :: %PropertyDamage.Progress.MutationUpdate{
  command: module(),
  duration_ms: non_neg_integer() | nil,
  failure_message: String.t() | nil,
  mutation: term(),
  operator: atom(),
  result: result()
}