diff --git a/src/tools/tidy/src/libcoretest.rs b/src/tools/tidy/src/libcoretest.rs index f6864c7f84e..363d01d964e 100644 --- a/src/tools/tidy/src/libcoretest.rs +++ b/src/tools/tidy/src/libcoretest.rs @@ -22,14 +22,21 @@ pub fn check(path: &Path, bad: &mut bool) { &libcore_path, &mut |subpath| t!(subpath.strip_prefix(&libcore_path)).starts_with("tests"), &mut |subpath| { - if subpath.ends_with(".rs") { - if t!(read_to_string(subpath)).contains("#[test]") { - tidy_error!( - bad, - "{} contains #[test]; libcore tests must be placed inside \ - `src/libcore/tests/`", - subpath.display() - ); + if let Some("rs") = subpath.extension().and_then(|e| e.to_str()) { + match read_to_string(subpath) { + Ok(contents) => { + if contents.contains("#[test]") { + tidy_error!( + bad, + "{} contains #[test]; libcore tests must be placed inside \ + `src/libcore/tests/`", + subpath.display() + ); + } + } + Err(err) => { + panic!("failed to read file {:?}: {}", subpath, err); + } } } },