diff options
Diffstat (limited to 'xtask/src/tidy.rs')
-rw-r--r-- | xtask/src/tidy.rs | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/xtask/src/tidy.rs b/xtask/src/tidy.rs index 349ca14d0..1352d1218 100644 --- a/xtask/src/tidy.rs +++ b/xtask/src/tidy.rs | |||
@@ -3,48 +3,48 @@ use std::{ | |||
3 | path::{Path, PathBuf}, | 3 | path::{Path, PathBuf}, |
4 | }; | 4 | }; |
5 | 5 | ||
6 | use xshell::{cmd, read_file}; | 6 | use xshell::{cmd, pushd, pushenv, read_file}; |
7 | 7 | ||
8 | use crate::{ | 8 | use crate::{cargo_files, codegen, project_root, rust_files}; |
9 | cargo_files, | ||
10 | codegen::{self, Mode}, | ||
11 | project_root, run_rustfmt, rust_files, | ||
12 | }; | ||
13 | 9 | ||
14 | #[test] | 10 | #[test] |
15 | fn generated_grammar_is_fresh() { | 11 | fn generate_grammar() { |
16 | if let Err(error) = codegen::generate_syntax(Mode::Verify) { | 12 | codegen::generate_syntax().unwrap() |
17 | panic!("{}. Please update it by running `cargo xtask codegen`", error); | ||
18 | } | ||
19 | } | 13 | } |
20 | 14 | ||
21 | #[test] | 15 | #[test] |
22 | fn generated_tests_are_fresh() { | 16 | fn generate_parser_tests() { |
23 | if let Err(error) = codegen::generate_parser_tests(Mode::Verify) { | 17 | codegen::generate_parser_tests().unwrap() |
24 | panic!("{}. Please update tests by running `cargo xtask codegen`", error); | ||
25 | } | ||
26 | } | 18 | } |
27 | 19 | ||
28 | #[test] | 20 | #[test] |
29 | fn generated_assists_are_fresh() { | 21 | fn generate_assists_tests() { |
30 | if let Err(error) = codegen::generate_assists_tests(Mode::Verify) { | 22 | codegen::generate_assists_tests().unwrap(); |
31 | panic!("{}. Please update assists by running `cargo xtask codegen`", error); | 23 | } |
32 | } | 24 | |
25 | /// This clones rustc repo, and so is not worth to keep up-to-date. We update | ||
26 | /// manually by un-ignoring the test from time to time. | ||
27 | #[test] | ||
28 | #[ignore] | ||
29 | fn generate_lint_completions() { | ||
30 | codegen::generate_lint_completions().unwrap() | ||
33 | } | 31 | } |
34 | 32 | ||
35 | #[test] | 33 | #[test] |
36 | fn check_code_formatting() { | 34 | fn check_code_formatting() { |
37 | if let Err(error) = run_rustfmt(Mode::Verify) { | 35 | let _dir = pushd(project_root()).unwrap(); |
38 | panic!("{}. Please format the code by running `cargo format`", error); | 36 | let _e = pushenv("RUSTUP_TOOLCHAIN", "stable"); |
37 | crate::ensure_rustfmt().unwrap(); | ||
38 | let res = cmd!("cargo fmt -- --check").run(); | ||
39 | if !res.is_ok() { | ||
40 | let _ = cmd!("cargo fmt").run(); | ||
39 | } | 41 | } |
42 | res.unwrap() | ||
40 | } | 43 | } |
41 | 44 | ||
42 | #[test] | 45 | #[test] |
43 | fn smoke_test_docs_generation() { | 46 | fn smoke_test_generate_documentation() { |
44 | // We don't commit docs to the repo, so we can just overwrite in tests. | 47 | codegen::docs().unwrap() |
45 | codegen::generate_assists_docs(Mode::Overwrite).unwrap(); | ||
46 | codegen::generate_feature_docs(Mode::Overwrite).unwrap(); | ||
47 | codegen::generate_diagnostic_docs(Mode::Overwrite).unwrap(); | ||
48 | } | 48 | } |
49 | 49 | ||
50 | #[test] | 50 | #[test] |