1use header::{ContextHeader, ExampleHeader, SuiteHeader};
4use report::{ContextReport, ExampleReport, SuiteReport};
5use runner::Runner;
6
7#[allow(unused_variables)]
9pub trait RunnerObserver: Send + Sync {
10 fn enter_suite(&self, runner: &Runner, header: &SuiteHeader) {}
11 fn exit_suite(&self, runner: &Runner, header: &SuiteHeader, report: &SuiteReport) {}
12 fn enter_context(&self, runner: &Runner, header: &ContextHeader) {}
13 fn exit_context(&self, runner: &Runner, header: &ContextHeader, report: &ContextReport) {}
14 fn enter_example(&self, runner: &Runner, header: &ExampleHeader) {}
15 fn exit_example(&self, runner: &Runner, header: &ExampleHeader, report: &ExampleReport) {}
16}
17
18#[cfg(test)]
19mod tests {
20 }