behavior-contracts 0.3.0

Language-neutral IR runtime core (expression evaluation, template rendering, execution plan, canonical serialization) shared across DSL implementations. Passes the dsl-contracts conformance vectors byte-for-byte.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//! Integration test: the conformance runner binary must exit 0 (all 164 vectors pass).

use std::process::Command;

#[test]
fn conformance_runner_all_pass() {
    let bin = env!("CARGO_BIN_EXE_conformance");
    let out = Command::new(bin).output().expect("run conformance binary");
    let stdout = String::from_utf8_lossy(&out.stdout);
    println!("{stdout}");
    eprintln!("{}", String::from_utf8_lossy(&out.stderr));
    assert!(
        stdout.contains("164 passed, 0 failed"),
        "expected all 164 vectors to pass; stdout was:\n{stdout}"
    );
    assert!(out.status.success(), "conformance runner exited non-zero");
}