Expand description
Differential testing for the source-level debugging experience.
Compilers need not emit the same bytecode for the same source, so comparing raw
source maps or program counters says little about what a user sees. This module maps
each execution through StepMap::for_debug_diff, keeping single-instruction
source stops that interactive stepping can smooth over, and compares the traces.
The result is suitable for a test harness: it is
deterministic, serializable, and separates execution differences from debug-info
differences.
Structs§
- Debug
Checkpoint - A source stop required by a test, independent of compiler-generated entry steps.
- Debug
Diff Report - Serializable result of a source-level differential.
- Debug
Difference - One difference between the reference and candidate source traces.
- Debug
Execution - The execution result whose debug information was captured.
- Debug
Trace - A compiler-independent view of one execution’s debugging experience.
- Debug
Trace Event - One compiler-mapped source stop in an execution.
- Debug
Trace Summary - Aggregate mapping quality for one side of a comparison.
Enums§
- Debug
Diff Mode - How strictly two source-level traces are compared.
- Debug
Difference Kind - The kind of one sampled difference.
Functions§
- capture_
debug_ trace - Maps one execution to source stops without interactive line smoothing.
- compare_
debug_ traces - Compares two captured debugging experiences and samples at most
difference_limitdifferences for display.