macro_rules! async_full_run {
($subject:expr, $version:expr; $($fut:expr),* $(,)?) => { ... };
}Available on crate feature
async only.Expand description
Combine multiple Future<Output = Report> values into a single
MultiReport keyed by subject/version.
Async equivalent of full_run! for callers already inside an
async context. Each future is awaited in sequence (use a
futures-runtime helper if you need concurrency); the resulting
reports are pushed into the returned dev_report::MultiReport.
Available with the async feature.
§Example
ⓘ
use dev_tools::async_full_run;
use dev_tools::report::{CheckResult, Report, Verdict};
async fn produce_a() -> Report {
let mut r = Report::new("crate", "0.1.0").with_producer("a");
r.push(CheckResult::pass("ok"));
r.finish();
r
}
async fn produce_b() -> Report {
let mut r = Report::new("crate", "0.1.0").with_producer("b");
r.push(CheckResult::pass("ok"));
r.finish();
r
}
let multi = async_full_run!("crate", "0.1.0"; produce_a(), produce_b()).await;
assert_eq!(multi.reports.len(), 2);
assert_eq!(multi.overall_verdict(), Verdict::Pass);