1 #![allow(clippy::type_complexity)]
2 
3 mod bin;
4 #[path = "../src/bin/run-parser-test-suite.rs"]
5 #[allow(dead_code)]
6 mod run_parser_test_suite;
7 
8 use std::fs;
9 use std::path::Path;
10 
test(id: &str)11 fn test(id: &str) {
12     let dir = Path::new("tests")
13         .join("data")
14         .join("yaml-test-suite")
15         .join(id);
16 
17     let output = bin::run(
18         env!("CARGO_BIN_EXE_run-parser-test-suite"),
19         run_parser_test_suite::unsafe_main,
20         &dir.join("in.yaml"),
21     );
22 
23     let stdout = String::from_utf8_lossy(&output.stdout);
24     let stderr = String::from_utf8_lossy(&output.stderr);
25     eprint!("{}", stderr);
26 
27     let expected = fs::read_to_string(dir.join("test.event")).unwrap();
28     pretty_assertions::assert_str_eq!(expected, stdout);
29     assert!(output.success);
30 }
31 
32 unsafe_libyaml_test_suite::test_parser!();
33