diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-01-15 21:17:34 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-15 21:17:34 +0100 |
| commit | 72180b348b95f3df16f245ff90524b23d7f4bd0c (patch) | |
| tree | cbaca54ffcee24825009c42e730880de61009d45 | |
| parent | ae4d89dfb51535c1c43052ef848564bd2323c9ca (diff) | |
| parent | 5376670323d14870be7d90b585735354674aa4cc (diff) | |
| download | rust-72180b348b95f3df16f245ff90524b23d7f4bd0c.tar.gz rust-72180b348b95f3df16f245ff90524b23d7f4bd0c.zip | |
Rollup merge of #106888 - GuillaumeGomez:tidy-gui-test, r=notriddle
Add tidy check to ensure that rustdoc GUI tests start with a small description The first commit comes from https://github.com/rust-lang/rust/pull/106865 to prevent CI to fail. This PR adds a tidy check to enforce having a small description at the top of the GUI test. Although the format is made to be as easy as possible to read, it's not always obvious what a test is actually checking. I think enforcing this will make it easier for us to come back on these tests if needed. r? `@notriddle`
| -rw-r--r-- | src/tools/tidy/src/lib.rs | 1 | ||||
| -rw-r--r-- | src/tools/tidy/src/main.rs | 1 | ||||
| -rw-r--r-- | src/tools/tidy/src/rustdoc_gui_tests.rs | 33 | ||||
| -rw-r--r-- | tests/rustdoc-gui/basic-code.goml | 2 |
4 files changed, 37 insertions, 0 deletions
diff --git a/src/tools/tidy/src/lib.rs b/src/tools/tidy/src/lib.rs index 40375f1306d..97e56720b98 100644 --- a/src/tools/tidy/src/lib.rs +++ b/src/tools/tidy/src/lib.rs @@ -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; diff --git a/src/tools/tidy/src/main.rs b/src/tools/tidy/src/main.rs index ea2886a3c2f..0b9a1b37e94 100644 --- a/src/tools/tidy/src/main.rs +++ b/src/tools/tidy/src/main.rs @@ -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); diff --git a/src/tools/tidy/src/rustdoc_gui_tests.rs b/src/tools/tidy/src/rustdoc_gui_tests.rs new file mode 100644 index 00000000000..feb513df34b --- /dev/null +++ b/src/tools/tidy/src/rustdoc_gui_tests.rs @@ -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; + } + } + }, + ); +} diff --git a/tests/rustdoc-gui/basic-code.goml b/tests/rustdoc-gui/basic-code.goml index 108cf8abcb5..971c2f9480e 100644 --- a/tests/rustdoc-gui/basic-code.goml +++ b/tests/rustdoc-gui/basic-code.goml @@ -1,3 +1,5 @@ +// Small test to ensure the "src-line-numbers" element is only present once on +// the page. goto: "file://" + |DOC_PATH| + "/test_docs/index.html" click: ".srclink" wait-for: ".src-line-numbers" |
