diff options
| author | Cameron Steffen <cam.steffen94@gmail.com> | 2022-01-10 14:03:55 -0600 |
|---|---|---|
| committer | Cameron Steffen <cam.steffen94@gmail.com> | 2022-01-10 17:08:22 -0600 |
| commit | 4a549338451cae037fcbb4c4a6a608132e61a305 (patch) | |
| tree | 2c57e574a3098ea56bffb3aef3df686dd2e67f36 | |
| parent | 920e9f0c4b1aa0921d4dd5e22ea727a31dd8e2cc (diff) | |
| download | rust-4a549338451cae037fcbb4c4a6a608132e61a305.tar.gz rust-4a549338451cae037fcbb4c4a6a608132e61a305.zip | |
Merge dogfood tests
The two dogfood tests cannot be run concurrently since they use the same target directory.
| -rw-r--r-- | tests/dogfood.rs | 49 |
1 files changed, 7 insertions, 42 deletions
diff --git a/tests/dogfood.rs b/tests/dogfood.rs index 6665bb21784..67af9d05bf4 100644 --- a/tests/dogfood.rs +++ b/tests/dogfood.rs @@ -9,54 +9,19 @@ use std::path::PathBuf; use std::process::Command; -use test_utils::{CARGO_CLIPPY_PATH, IS_RUSTC_TEST_SUITE}; +use test_utils::IS_RUSTC_TEST_SUITE; mod test_utils; #[test] fn dogfood_clippy() { - // run clippy on itself and fail the test if lint warnings are reported - if IS_RUSTC_TEST_SUITE { - return; - } - let root_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR")); - - let mut command = Command::new(&*CARGO_CLIPPY_PATH); - command - .current_dir(root_dir) - .env("CARGO_INCREMENTAL", "0") - .arg("clippy") - .arg("--all-targets") - .arg("--all-features") - .arg("--") - .args(&["-D", "clippy::all"]) - .args(&["-D", "clippy::pedantic"]) - .arg("-Cdebuginfo=0"); // disable debuginfo to generate less data in the target dir - - // internal lints only exist if we build with the internal feature - if cfg!(feature = "internal") { - command.args(&["-D", "clippy::internal"]); - } - - let output = command.output().unwrap(); - - println!("status: {}", output.status); - println!("stdout: {}", String::from_utf8_lossy(&output.stdout)); - println!("stderr: {}", String::from_utf8_lossy(&output.stderr)); - - assert!(output.status.success()); -} - -#[test] -fn dogfood_subprojects() { - // run clippy on remaining subprojects and fail the test if lint warnings are reported if IS_RUSTC_TEST_SUITE { return; } - // NOTE: `path_dep` crate is omitted on purpose here - for project in &["clippy_dev", "clippy_lints", "clippy_utils", "rustc_tools_util"] { - run_clippy_for_project(project); + // "" is the root package + for package in &["", "clippy_dev", "clippy_lints", "clippy_utils", "rustc_tools_util"] { + run_clippy_for_package(package); } } @@ -73,7 +38,7 @@ fn run_metadata_collection_lint() { // Run collection as is std::env::set_var("ENABLE_METADATA_COLLECTION", "1"); - run_clippy_for_project("clippy_lints"); + run_clippy_for_package("clippy_lints"); // Check if cargo caching got in the way if let Ok(file) = File::open(metadata_output_path) { @@ -96,10 +61,10 @@ fn run_metadata_collection_lint() { .unwrap(); // Running the collection again - run_clippy_for_project("clippy_lints"); + run_clippy_for_package("clippy_lints"); } -fn run_clippy_for_project(project: &str) { +fn run_clippy_for_package(project: &str) { let root_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR")); let mut command = Command::new(&*test_utils::CARGO_CLIPPY_PATH); |
