use dev_mutate::{MutateError, MutateRun, MutateThreshold};
fn main() {
let run = MutateRun::new("example", "0.1.0");
let result = match run.execute() {
Ok(r) => r,
Err(MutateError::ToolNotInstalled) => {
eprintln!(
"cargo-mutants is not installed; install with `cargo install cargo-mutants`."
);
return;
}
Err(e) => {
eprintln!("mutation run failed: {e}");
return;
}
};
println!(
"kill rate: {:.2}% (killed {} / surviving {} / timeouts {})",
result.kill_pct(),
result.mutants_killed,
result.mutants_survived,
result.mutants_timeout
);
let check = result.into_check_result(MutateThreshold::min_kill_pct(70.0));
println!("verdict: {:?}", check.verdict);
if let Some(d) = check.detail {
println!("detail: {d}");
}
}