libyaml-safer/tests/test_emitter.rs
2022-07-08 12:54:43 -07:00

35 lines
893 B
Rust

mod bin;
#[path = "../src/bin/run-emitter-test-suite.rs"]
#[allow(dead_code)]
mod run_emitter_test_suite;
use std::fs;
use std::path::Path;
fn test(id: &str) {
let dir = Path::new("tests")
.join("data")
.join("yaml-test-suite")
.join(id);
let output = bin::run(
env!("CARGO_BIN_EXE_run-emitter-test-suite"),
run_emitter_test_suite::unsafe_main,
&dir.join("test.event"),
);
let stdout = String::from_utf8_lossy(&output.stdout);
let stderr = String::from_utf8_lossy(&output.stderr);
eprint!("{}", stderr);
let out = if dir.join("out.yaml").exists() {
dir.join("out.yaml")
} else {
dir.join("in.yaml")
};
let expected = fs::read_to_string(out).unwrap();
pretty_assertions::assert_str_eq!(expected, stdout);
assert!(output.success);
}
unsafe_libyaml_test_suite::test_emitter!();