Skip to main content

verify_determinism

Function verify_determinism 

Source
pub fn verify_determinism<F>(seed: u64, sim_fn: F) -> DeterminismResult
where F: Fn(u64) -> SimTrace,
Expand description

Verify determinism by running a simulation twice and comparing traces.

  • sim_fn: (seed) -> SimTrace — runs the simulation with a seed and returns the resulting trace.
  • seed: the seed to test with.
use vortex_trace::determinism::verify_determinism;
use vortex_trace::{SimTrace, TraceEventKind};

let result = verify_determinism(42, |seed| {
    let mut trace = SimTrace::new();
    // Deterministic simulation: same seed → same events
    for i in 0..10 {
        trace.record(i, 1, TraceEventKind::TimerFired {
            timer_type: format!("t{}", seed + i),
        });
    }
    trace
});
assert!(result.is_deterministic());