vyre-conform 0.1.0

Conformance suite for vyre backends — proves byte-identical output to CPU reference
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/// A deliberately-wrong CPU reference used to test that the declared law set catches a targeted sabotage.
#[derive(Clone)]
pub struct Defendant {
    /// Unique identifier for the defendant.
    pub id: &'static str,
    /// Target op id this defendant sabotages.
    pub target_op_id: &'static str,
    /// Human-readable description of the sabotage.
    pub description: &'static str,
    /// Mutation family exercised by this defendant.
    pub class: DefenderClass,
    /// The wrong CPU reference function.
    pub broken_fn: fn(&[u8]) -> Vec<u8>,
    /// Law fingerprints expected to fire when the declared law set is strong enough.
    pub fails_laws: &'static [&'static str],
    /// Concrete witness pair where the broken CPU reference disagrees with the target CPU reference.
    pub expected_witness: &'static [(u32, u32)],
}