1use std::collections::HashMap;
5use std::pin::Pin;
6
7use crate::base::error::TestsResult;
8use crate::env::env_log::EnvLog;
9use crate::env::env_run::EnvRun;
10use crate::env::env_start::EnvStart;
11use crate::env::env_stop::EnvStop;
12
13pub type OnStart = Box<
15 dyn FnOnce(
16 EnvStart,
17 )
18 -> Pin<Box<dyn Future<Output = TestsResult<Option<HashMap<String, String>>>> + Send>>
19 + Send,
20>;
21
22pub type OnRun =
24 Box<dyn Fn(EnvRun) -> Pin<Box<dyn Future<Output = TestsResult<()>> + Send>> + Send + Sync>;
25
26pub type OnStop = Box<dyn FnOnce(EnvStop) + Send>;
28
29pub type OnLog = Box<dyn Fn(EnvLog) + Send + Sync>;