vyre-conform 0.1.0

Conformance suite for vyre backends — proves byte-identical output to CPU reference
Documentation
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};

/// The outcome of probing one test with one mutation.
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum MutationOutcome {
    /// The test failed after the mutation — the test caught it.
    Killed,
    /// The test passed after the mutation — the test missed it.
    /// This is a finding that should be surfaced to the Prosecutor.
    Survived,
    /// The mutation could not be applied, or applying it produced
    /// code that did not compile. Not a test failure.
    Skipped {
        /// The reason the probe skipped this mutation.
        reason: String,
    },
}