Fix error message printing wrong file names
The error messsages from `self_test` does not display correct file names (it just prints `src/lib.rs` for every file). This commit fixes it.
This commit is contained in:
parent
cb0b366b38
commit
727f7b08f2
1 changed files with 11 additions and 9 deletions
|
@ -166,7 +166,7 @@ fn assert_output(source: &Path, expected_filename: &Path) {
|
||||||
if !compare.is_empty() {
|
if !compare.is_empty() {
|
||||||
let mut failures = HashMap::new();
|
let mut failures = HashMap::new();
|
||||||
failures.insert(source.to_owned(), compare);
|
failures.insert(source.to_owned(), compare);
|
||||||
print_mismatches_default_message(failures, source.display());
|
print_mismatches_default_message(failures);
|
||||||
assert!(false, "Text does not match expected output");
|
assert!(false, "Text does not match expected output");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -281,7 +281,7 @@ fn check_files(files: Vec<PathBuf>) -> (Vec<FormatReport>, u32, u32) {
|
||||||
Ok(report) => reports.push(report),
|
Ok(report) => reports.push(report),
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
if let IdempotentCheckError::Mismatch(msg) = err {
|
if let IdempotentCheckError::Mismatch(msg) = err {
|
||||||
print_mismatches_default_message(msg, file_name.display());
|
print_mismatches_default_message(msg);
|
||||||
}
|
}
|
||||||
fails += 1;
|
fails += 1;
|
||||||
}
|
}
|
||||||
|
@ -293,13 +293,15 @@ fn check_files(files: Vec<PathBuf>) -> (Vec<FormatReport>, u32, u32) {
|
||||||
(reports, count, fails)
|
(reports, count, fails)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn print_mismatches_default_message(
|
fn print_mismatches_default_message(result: HashMap<PathBuf, Vec<Mismatch>>) {
|
||||||
result: HashMap<PathBuf, Vec<Mismatch>>,
|
let mut t = term::stdout().unwrap();
|
||||||
file_name: std::path::Display,
|
for (file_name, diff) in result {
|
||||||
) {
|
let mismatch_msg_formatter =
|
||||||
print_mismatches(result, |line_num| {
|
|line_num| format!("\nMismatch at {}:{}:", file_name.display(), line_num);
|
||||||
format!("\nMismatch at {}:{}:", file_name, line_num)
|
print_diff(diff, &mismatch_msg_formatter, Color::Auto);
|
||||||
});
|
}
|
||||||
|
|
||||||
|
t.reset().unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn print_mismatches<T: Fn(u32) -> String>(
|
fn print_mismatches<T: Fn(u32) -> String>(
|
||||||
|
|
Loading…
Reference in a new issue