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
#[test]
fn {name}() {
    let op_id_str = {op_id_str};
    {if:validation_must_accept}
    let program = {validation_program};
    let errors = vyre::ir::validate(&program);
    assert!(errors.is_empty(), "Fix: validation rule {validation_rule_id} rejected valid generated {op_id_display}/{archetype_id_display} program: {:?}", errors);
    {/if}
    {if:validation_must_reject}
    {if:validation_has_reject_case}
    let program = {validation_reject_program};
    let errors = vyre::ir::validate(&program);
    assert!(errors.iter().any(|error| error.message().contains("{validation_reject_error_substring}")), "Fix: validation rule {validation_rule_id} accepted invalid generated {op_id_display}/{archetype_id_display} program: {:?}", errors);
    {/if}
    {/if}
}