32 lines
930 B
Rust
Raw Permalink Normal View History

2024-08-13 13:02:26 +10:00
// Check libtest's JUnit (XML) output against snapshots.
//@ ignore-cross-compile
//@ needs-unwind (test file contains #[should_panic] test)
use run_make_support::{cmd, diff, python_command, rustc};
fn main() {
rustc().arg("--test").input("f.rs").run();
run_tests(&[], "output-default.xml");
run_tests(&["--show-output"], "output-stdout-success.xml");
}
#[track_caller]
fn run_tests(extra_args: &[&str], expected_file: &str) {
let cmd_out = cmd("./f")
.env("RUST_BACKTRACE", "0")
.args(&["-Zunstable-options", "--test-threads=1", "--format=junit"])
.args(extra_args)
.run_fail();
let test_stdout = &cmd_out.stdout_utf8();
2024-09-05 08:02:32 +08:00
python_command().arg("validate_junit.py").stdin_buf(test_stdout).run();
2024-08-13 13:02:26 +10:00
diff()
.expected_file(expected_file)
.actual_text("stdout", test_stdout)
.normalize(r#"\btime="[0-9.]+""#, r#"time="$$TIME""#)
.run();
}