+use crate::clippy_project_root;
use std::ffi::OsStr;
use std::fs;
use std::path::{Path, PathBuf};
-
use walkdir::WalkDir;
// The maximum length allowed for stderr files.
if !exceeding_files.is_empty() {
eprintln!("Error: stderr files exceeding limit of {} lines:", LENGTH_LIMIT);
- for path in exceeding_files {
- println!("{}", path.display());
+ for (path, count) in exceeding_files {
+ println!("{}: {}", path.display(), count);
}
std::process::exit(1);
}
}
-fn exceeding_stderr_files() -> Vec<PathBuf> {
+fn exceeding_stderr_files() -> Vec<(PathBuf, usize)> {
// We use `WalkDir` instead of `fs::read_dir` here in order to recurse into subdirectories.
- WalkDir::new("../tests/ui")
+ WalkDir::new(clippy_project_root().join("tests/ui"))
.into_iter()
.filter_map(Result::ok)
+ .filter(|f| !f.file_type().is_dir())
.filter_map(|e| {
let p = e.into_path();
- if p.extension() == Some(OsStr::new("stderr")) && count_linenumbers(&p) > LENGTH_LIMIT {
- Some(p)
+ let count = count_linenumbers(&p);
+ if p.extension() == Some(OsStr::new("stderr")) && count > LENGTH_LIMIT {
+ Some((p, count))
} else {
None
}