Add tidy check to ensure that rustdoc GUI tests start with a small description

This commit is contained in:
Guillaume Gomez 2023-01-14 22:17:06 +01:00
parent de34489a01
commit 98cfa68f16
3 changed files with 35 additions and 0 deletions

View File

@ -62,6 +62,7 @@ pub mod features;
pub mod mir_opt_tests;
pub mod pal;
pub mod primitive_docs;
pub mod rustdoc_gui_tests;
pub mod style;
pub mod target_specific_tests;
pub mod tests_placement;

View File

@ -80,6 +80,7 @@ fn main() {
check!(debug_artifacts, &tests_path);
check!(ui_tests, &tests_path);
check!(mir_opt_tests, &tests_path, bless);
check!(rustdoc_gui_tests, &tests_path);
// Checks that only make sense for the compiler.
check!(error_codes, &root_path, &[&compiler_path, &librustdoc_path], verbose);

View File

@ -0,0 +1,33 @@
//! Tidy check to ensure that rustdoc GUI tests start with a small description.
use std::path::Path;
pub fn check(path: &Path, bad: &mut bool) {
crate::walk::walk(
&path.join("rustdoc-gui"),
&mut |p| {
// If there is no extension, it's very likely a folder and we want to go into it.
p.extension().map(|e| e != "goml").unwrap_or(false)
},
&mut |entry, content| {
for line in content.lines() {
if !line.starts_with("// ") {
tidy_error!(
bad,
"{}: rustdoc-gui tests must start with a small description",
entry.path().display(),
);
return;
} else if line.starts_with("// ") {
let parts = line[2..].trim();
// We ignore tidy comments.
if parts.starts_with("// tidy-") {
continue;
}
// All good!
return;
}
}
},
);
}