pub fn verify_determinism<F>(seed: u64, sim_fn: F) -> DeterminismResultExpand 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());