Behaviour for eval result reporters.
Summary
Types
@type results() :: %{ schema_version: pos_integer(), summary: %{ total: non_neg_integer(), passed: non_neg_integer(), failed: non_neg_integer(), errors: non_neg_integer(), pass_rate: float(), duration_ms: non_neg_integer() }, metrics: %{ required(atom() | String.t()) => %{ passed: non_neg_integer(), failed: non_neg_integer(), errors: non_neg_integer(), total: non_neg_integer(), pass_rate: float() } }, cases: [map()] }