feat: pretify_log utilit

This commit is contained in:
2025-01-31 23:33:06 +00:00
parent 404e6a05ed
commit d613d51d41
9 changed files with 711 additions and 3 deletions

View File

@@ -0,0 +1,36 @@
use std::fs;
use std::process::Command;
use std::io::Write;
use tempfile::NamedTempFile;
#[test]
fn test_prettify() {
let input_file = "test/fixture/test.log";
let expected_output = fs::read_to_string("test/fixture/expected.log")
.expect("Failed to read expected.log");
let mut actual_output_file = NamedTempFile::new().expect("Failed to create temp file");
let output = Command::new("cargo")
.args(&["run", "--quiet"])
.stdin(fs::File::open(input_file).expect("Failed to open test.log"))
.output()
.expect("Failed to run prettify_logs");
assert!(output.status.success());
actual_output_file
.write_all(&output.stdout)
.expect("Failed to write output");
let actual_output = String::from_utf8_lossy(&output.stdout);
assert_eq!(actual_output.trim(), expected_output.trim(), "Output does not match expected.log");
if actual_output.trim() != expected_output.trim() {
eprintln!(
"Test failed! Actual output saved to: {}",
actual_output_file.path().display()
);
}
}