libyaml-safer/tests/test_parser.rs

33 lines
810 B
Rust
Raw Normal View History

2022-07-07 23:58:14 -07:00
#![allow(clippy::type_complexity)]
2022-07-07 18:28:43 -07:00
mod bin;
#[path = "../src/bin/run-parser-test-suite.rs"]
#[allow(dead_code)]
mod run_parser_test_suite;
2022-07-03 12:05:16 -07:00
use std::fs;
use std::path::Path;
fn test(id: &str) {
let dir = Path::new("tests")
.join("data")
.join("yaml-test-suite")
.join(id);
2022-07-07 18:28:43 -07:00
let output = bin::run(
env!("CARGO_BIN_EXE_run-parser-test-suite"),
run_parser_test_suite::test_main,
2022-07-07 18:28:43 -07:00
&dir.join("in.yaml"),
);
2022-07-03 12:05:16 -07:00
let stdout = String::from_utf8_lossy(&output.stdout);
let stderr = String::from_utf8_lossy(&output.stderr);
2024-02-03 10:39:04 +01:00
eprint!("{stderr}");
2022-07-03 12:05:16 -07:00
let expected = fs::read_to_string(dir.join("test.event")).unwrap();
pretty_assertions::assert_str_eq!(expected, stdout);
2022-07-07 18:28:43 -07:00
assert!(output.success);
2022-07-03 12:05:16 -07:00
}
unsafe_libyaml_test_suite::test_parser!();