use std::fs;
use std::io;
use std::path::{Path, PathBuf};
use std::time::{Duration, Instant};
use crate::spec::types::MutationClass;
use super::mutation_cargo::{assert_source_matches_original, run_cargo_test};
pub use super::probe::{canary_plus_to_minus, mutation_probe};
use super::{MutationResult, StructuredFeedback};
#[derive(Debug, Clone)]
pub struct GateReport {
pub test_name: String,
pub source_file: PathBuf,
pub results: Vec<MutationResult>,
pub total_duration: Duration,
pub feedback: Vec<StructuredFeedback>,
}