diff options
Diffstat (limited to 'test/lint/test_runner')
-rw-r--r-- | test/lint/test_runner/src/main.rs | 61 |
1 files changed, 58 insertions, 3 deletions
diff --git a/test/lint/test_runner/src/main.rs b/test/lint/test_runner/src/main.rs index b7ec9ee3b2..ce94c3b628 100644 --- a/test/lint/test_runner/src/main.rs +++ b/test/lint/test_runner/src/main.rs @@ -7,7 +7,9 @@ use std::path::PathBuf; use std::process::Command; use std::process::ExitCode; -use String as LintError; +type LintError = String; +type LintResult = Result<(), LintError>; +type LintFn = fn() -> LintResult; /// Return the git command fn git() -> Command { @@ -31,7 +33,31 @@ fn get_git_root() -> String { check_output(git().args(["rev-parse", "--show-toplevel"])).unwrap() } -fn lint_std_filesystem() -> Result<(), LintError> { +fn lint_subtree() -> LintResult { + // This only checks that the trees are pure subtrees, it is not doing a full + // check with -r to not have to fetch all the remotes. + let mut good = true; + for subtree in [ + "src/crypto/ctaes", + "src/secp256k1", + "src/minisketch", + "src/leveldb", + "src/crc32c", + ] { + good &= Command::new("test/lint/git-subtree-check.sh") + .arg(subtree) + .status() + .expect("command_error") + .success(); + } + if good { + Ok(()) + } else { + Err("".to_string()) + } +} + +fn lint_std_filesystem() -> LintResult { let found = git() .args([ "grep", @@ -55,8 +81,37 @@ fs:: namespace, which has unsafe filesystem functions marked as deleted. } } +fn lint_doc() -> LintResult { + if Command::new("test/lint/check-doc.py") + .status() + .expect("command error") + .success() + { + Ok(()) + } else { + Err("".to_string()) + } +} + +fn lint_all() -> LintResult { + if Command::new("test/lint/all-lint.py") + .status() + .expect("command error") + .success() + { + Ok(()) + } else { + Err("".to_string()) + } +} + fn main() -> ExitCode { - let test_list = [("std::filesystem check", lint_std_filesystem)]; + let test_list: Vec<(&str, LintFn)> = vec![ + ("subtree check", lint_subtree), + ("std::filesystem check", lint_std_filesystem), + ("-help=1 documentation check", lint_doc), + ("all-lint.py script", lint_all), + ]; let git_root = PathBuf::from(get_git_root()); |