Skip to main content

assay_core/report/
progress.rs

1//! Progress reporting for run progress (E4.3). Used by the runner to emit done/total
2//! in completion order; console layer consumes via a sink.
3
4use std::sync::Arc;
5
6/// One progress update: how many tests are done and total count.
7#[derive(Debug, Clone, Copy)]
8pub struct ProgressEvent {
9    pub done: usize,
10    pub total: usize,
11}
12
13/// Sink for progress events. Runner calls this each time a test completes.
14/// Implementations may throttle (e.g. max N updates/sec or every k tests).
15pub type ProgressSink = Arc<dyn Fn(ProgressEvent) + Send + Sync>;