diff --git a/tests/testutils/src/lib.rs b/tests/testutils/src/lib.rs index d181e455b1..abd28f26d2 100644 --- a/tests/testutils/src/lib.rs +++ b/tests/testutils/src/lib.rs @@ -22,8 +22,8 @@ fn read_text(path: &Path) -> String { } pub fn dir_tests(paths: &[&str], f: F) -where - F: Fn(&str) -> String, + where + F: Fn(&str) -> String, { for path in collect_tests(paths) { let actual = { @@ -73,16 +73,24 @@ fn test_from_dir(dir: &Path) -> Vec { acc } +const REWRITE: bool = false; + fn print_difference(expected: &str, actual: &str, path: &Path) { let dir = project_dir(); let path = path.strip_prefix(&dir).unwrap_or_else(|_| path); if expected.trim() == actual.trim() { println!("whitespace difference, rewriting"); + println!("file: {}\n", path.display()); file::put_text(path, actual).unwrap(); - } else { - let changeset = Changeset::new(actual, expected, "\n"); - print!("{}", changeset); + return; } + if REWRITE { + println!("rewriting {}", path.display()); + file::put_text(path, actual).unwrap(); + return; + } + let changeset = Changeset::new(actual, expected, "\n"); + print!("{}", changeset); println!("file: {}\n", path.display()); panic!("Comparison failed") }