about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCameron Steffen <cam.steffen94@gmail.com>2022-01-10 15:27:00 -0600
committerCameron Steffen <cam.steffen94@gmail.com>2022-01-10 17:08:22 -0600
commit920e9f0c4b1aa0921d4dd5e22ea727a31dd8e2cc (patch)
tree25602d4369e0e0d27e69dc9b2f9fc2e9ea4c283c
parent51dbbf3c4c67446e3ae81e2488f48bfce8dac59f (diff)
downloadrust-920e9f0c4b1aa0921d4dd5e22ea727a31dd8e2cc.tar.gz
rust-920e9f0c4b1aa0921d4dd5e22ea727a31dd8e2cc.zip
Move workspace test
-rw-r--r--.github/workflows/clippy.yml8
-rw-r--r--.github/workflows/clippy_bors.yml8
-rw-r--r--.gitignore1
-rw-r--r--tests/dogfood.rs111
-rw-r--r--tests/workspace.rs107
-rw-r--r--tests/workspace_test/Cargo.toml (renamed from clippy_workspace_tests/Cargo.toml)2
-rw-r--r--tests/workspace_test/build.rs (renamed from clippy_workspace_tests/build.rs)0
-rw-r--r--tests/workspace_test/path_dep/Cargo.toml (renamed from clippy_workspace_tests/path_dep/Cargo.toml)0
-rw-r--r--tests/workspace_test/path_dep/src/lib.rs (renamed from clippy_workspace_tests/path_dep/src/lib.rs)0
-rw-r--r--tests/workspace_test/src/main.rs (renamed from clippy_workspace_tests/src/main.rs)0
-rw-r--r--tests/workspace_test/subcrate/Cargo.toml (renamed from clippy_workspace_tests/subcrate/Cargo.toml)0
-rw-r--r--tests/workspace_test/subcrate/src/lib.rs (renamed from clippy_workspace_tests/subcrate/src/lib.rs)0
12 files changed, 109 insertions, 128 deletions
diff --git a/.github/workflows/clippy.yml b/.github/workflows/clippy.yml
index 8b5e814b177..116ae031bb7 100644
--- a/.github/workflows/clippy.yml
+++ b/.github/workflows/clippy.yml
@@ -70,14 +70,6 @@ jobs:
       run: cargo test --features deny-warnings
       working-directory: clippy_dev
 
-    - name: Test cargo-clippy
-      run: ../target/debug/cargo-clippy
-      working-directory: clippy_workspace_tests
-
-    - name: Test cargo-clippy --fix
-      run: ../target/debug/cargo-clippy clippy --fix
-      working-directory: clippy_workspace_tests
-
     - name: Test clippy-driver
       run: bash .github/driver.sh
       env:
diff --git a/.github/workflows/clippy_bors.yml b/.github/workflows/clippy_bors.yml
index eb045ec30dc..fe02d9cfc84 100644
--- a/.github/workflows/clippy_bors.yml
+++ b/.github/workflows/clippy_bors.yml
@@ -133,14 +133,6 @@ jobs:
       run: cargo test --features deny-warnings
       working-directory: clippy_dev
 
-    - name: Test cargo-clippy
-      run: ../target/debug/cargo-clippy
-      working-directory: clippy_workspace_tests
-
-    - name: Test cargo-clippy --fix
-      run: ../target/debug/cargo-clippy clippy --fix
-      working-directory: clippy_workspace_tests
-
     - name: Test clippy-driver
       run: bash .github/driver.sh
       env:
diff --git a/.gitignore b/.gitignore
index e82a0ec4765..3e50c45a9b6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,7 +19,6 @@ out
 /target
 /clippy_lints/target
 /clippy_utils/target
-/clippy_workspace_tests/target
 /clippy_dev/target
 /lintcheck/target
 /rustc_tools_util/target
diff --git a/tests/dogfood.rs b/tests/dogfood.rs
index 42e1628f642..6665bb21784 100644
--- a/tests/dogfood.rs
+++ b/tests/dogfood.rs
@@ -47,102 +47,6 @@ fn dogfood_clippy() {
     assert!(output.status.success());
 }
 
-fn test_no_deps_ignores_path_deps_in_workspaces() {
-    if IS_RUSTC_TEST_SUITE {
-        return;
-    }
-    let root = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
-    let target_dir = root.join("target").join("dogfood");
-    let cwd = root.join("clippy_workspace_tests");
-
-    // Make sure we start with a clean state
-    Command::new("cargo")
-        .current_dir(&cwd)
-        .env("CARGO_TARGET_DIR", &target_dir)
-        .arg("clean")
-        .args(&["-p", "subcrate"])
-        .args(&["-p", "path_dep"])
-        .output()
-        .unwrap();
-
-    // `path_dep` is a path dependency of `subcrate` that would trigger a denied lint.
-    // Make sure that with the `--no-deps` argument Clippy does not run on `path_dep`.
-    let output = Command::new(&*CARGO_CLIPPY_PATH)
-        .current_dir(&cwd)
-        .env("CARGO_INCREMENTAL", "0")
-        .arg("clippy")
-        .args(&["-p", "subcrate"])
-        .arg("--no-deps")
-        .arg("--")
-        .arg("-Cdebuginfo=0") // disable debuginfo to generate less data in the target dir
-        .args(&["--cfg", r#"feature="primary_package_test""#])
-        .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());
-
-    let lint_path_dep = || {
-        // Test that without the `--no-deps` argument, `path_dep` is linted.
-        let output = Command::new(&*CARGO_CLIPPY_PATH)
-            .current_dir(&cwd)
-            .env("CARGO_INCREMENTAL", "0")
-            .arg("clippy")
-            .args(&["-p", "subcrate"])
-            .arg("--")
-            .arg("-Cdebuginfo=0") // disable debuginfo to generate less data in the target dir
-            .args(&["--cfg", r#"feature="primary_package_test""#])
-            .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());
-        assert!(
-            String::from_utf8(output.stderr)
-                .unwrap()
-                .contains("error: empty `loop {}` wastes CPU cycles")
-        );
-    };
-
-    // Make sure Cargo is aware of the removal of `--no-deps`.
-    lint_path_dep();
-
-    let successful_build = || {
-        let output = Command::new(&*CARGO_CLIPPY_PATH)
-            .current_dir(&cwd)
-            .env("CARGO_INCREMENTAL", "0")
-            .arg("clippy")
-            .args(&["-p", "subcrate"])
-            .arg("--")
-            .arg("-Cdebuginfo=0") // disable debuginfo to generate less data in the target dir
-            .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());
-
-        output
-    };
-
-    // Trigger a sucessful build, so Cargo would like to cache the build result.
-    successful_build();
-
-    // Make sure there's no spurious rebuild when nothing changes.
-    let stderr = String::from_utf8(successful_build().stderr).unwrap();
-    assert!(!stderr.contains("Compiling"));
-    assert!(!stderr.contains("Checking"));
-    assert!(stderr.contains("Finished"));
-
-    // Make sure Cargo is aware of the new `--cfg` flag.
-    lint_path_dep();
-}
-
 #[test]
 fn dogfood_subprojects() {
     // run clippy on remaining subprojects and fail the test if lint warnings are reported
@@ -151,22 +55,9 @@ fn dogfood_subprojects() {
     }
 
     // NOTE: `path_dep` crate is omitted on purpose here
-    for project in &[
-        "clippy_workspace_tests",
-        "clippy_workspace_tests/src",
-        "clippy_workspace_tests/subcrate",
-        "clippy_workspace_tests/subcrate/src",
-        "clippy_dev",
-        "clippy_lints",
-        "clippy_utils",
-        "rustc_tools_util",
-    ] {
+    for project in &["clippy_dev", "clippy_lints", "clippy_utils", "rustc_tools_util"] {
         run_clippy_for_project(project);
     }
-
-    // NOTE: Since tests run in parallel we can't run cargo commands on the same workspace at the
-    // same time, so we test this immediately after the dogfood for workspaces.
-    test_no_deps_ignores_path_deps_in_workspaces();
 }
 
 #[test]
diff --git a/tests/workspace.rs b/tests/workspace.rs
new file mode 100644
index 00000000000..677b4a4d569
--- /dev/null
+++ b/tests/workspace.rs
@@ -0,0 +1,107 @@
+#![feature(once_cell)]
+
+use std::path::PathBuf;
+use std::process::Command;
+use test_utils::{CARGO_CLIPPY_PATH, IS_RUSTC_TEST_SUITE};
+
+mod test_utils;
+
+#[test]
+fn test_no_deps_ignores_path_deps_in_workspaces() {
+    if IS_RUSTC_TEST_SUITE {
+        return;
+    }
+    let root = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
+    let target_dir = root.join("target").join("workspace_test");
+    let cwd = root.join("tests/workspace_test");
+
+    // Make sure we start with a clean state
+    Command::new("cargo")
+        .current_dir(&cwd)
+        .env("CARGO_TARGET_DIR", &target_dir)
+        .arg("clean")
+        .args(&["-p", "subcrate"])
+        .args(&["-p", "path_dep"])
+        .output()
+        .unwrap();
+
+    // `path_dep` is a path dependency of `subcrate` that would trigger a denied lint.
+    // Make sure that with the `--no-deps` argument Clippy does not run on `path_dep`.
+    let output = Command::new(&*CARGO_CLIPPY_PATH)
+        .current_dir(&cwd)
+        .env("CARGO_INCREMENTAL", "0")
+        .env("CARGO_TARGET_DIR", &target_dir)
+        .arg("clippy")
+        .args(&["-p", "subcrate"])
+        .arg("--no-deps")
+        .arg("--")
+        .arg("-Cdebuginfo=0") // disable debuginfo to generate less data in the target dir
+        .args(&["--cfg", r#"feature="primary_package_test""#])
+        .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());
+
+    let lint_path_dep = || {
+        // Test that without the `--no-deps` argument, `path_dep` is linted.
+        let output = Command::new(&*CARGO_CLIPPY_PATH)
+            .current_dir(&cwd)
+            .env("CARGO_INCREMENTAL", "0")
+            .env("CARGO_TARGET_DIR", &target_dir)
+            .arg("clippy")
+            .args(&["-p", "subcrate"])
+            .arg("--")
+            .arg("-Cdebuginfo=0") // disable debuginfo to generate less data in the target dir
+            .args(&["--cfg", r#"feature="primary_package_test""#])
+            .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());
+        assert!(
+            String::from_utf8(output.stderr)
+                .unwrap()
+                .contains("error: empty `loop {}` wastes CPU cycles")
+        );
+    };
+
+    // Make sure Cargo is aware of the removal of `--no-deps`.
+    lint_path_dep();
+
+    let successful_build = || {
+        let output = Command::new(&*CARGO_CLIPPY_PATH)
+            .current_dir(&cwd)
+            .env("CARGO_INCREMENTAL", "0")
+            .env("CARGO_TARGET_DIR", &target_dir)
+            .arg("clippy")
+            .args(&["-p", "subcrate"])
+            .arg("--")
+            .arg("-Cdebuginfo=0") // disable debuginfo to generate less data in the target dir
+            .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());
+
+        output
+    };
+
+    // Trigger a sucessful build, so Cargo would like to cache the build result.
+    successful_build();
+
+    // Make sure there's no spurious rebuild when nothing changes.
+    let stderr = String::from_utf8(successful_build().stderr).unwrap();
+    assert!(!stderr.contains("Compiling"));
+    assert!(!stderr.contains("Checking"));
+    assert!(stderr.contains("Finished"));
+
+    // Make sure Cargo is aware of the new `--cfg` flag.
+    lint_path_dep();
+}
diff --git a/clippy_workspace_tests/Cargo.toml b/tests/workspace_test/Cargo.toml
index 7a235b215d3..bf5b4ca5288 100644
--- a/clippy_workspace_tests/Cargo.toml
+++ b/tests/workspace_test/Cargo.toml
@@ -1,5 +1,5 @@
 [package]
-name = "clippy_workspace_tests"
+name = "workspace_test"
 version = "0.1.0"
 edition = "2018"
 
diff --git a/clippy_workspace_tests/build.rs b/tests/workspace_test/build.rs
index 3507168a3a9..3507168a3a9 100644
--- a/clippy_workspace_tests/build.rs
+++ b/tests/workspace_test/build.rs
diff --git a/clippy_workspace_tests/path_dep/Cargo.toml b/tests/workspace_test/path_dep/Cargo.toml
index 85a91cd2dec..85a91cd2dec 100644
--- a/clippy_workspace_tests/path_dep/Cargo.toml
+++ b/tests/workspace_test/path_dep/Cargo.toml
diff --git a/clippy_workspace_tests/path_dep/src/lib.rs b/tests/workspace_test/path_dep/src/lib.rs
index 35ce524f2b1..35ce524f2b1 100644
--- a/clippy_workspace_tests/path_dep/src/lib.rs
+++ b/tests/workspace_test/path_dep/src/lib.rs
diff --git a/clippy_workspace_tests/src/main.rs b/tests/workspace_test/src/main.rs
index b322eca1db5..b322eca1db5 100644
--- a/clippy_workspace_tests/src/main.rs
+++ b/tests/workspace_test/src/main.rs
diff --git a/clippy_workspace_tests/subcrate/Cargo.toml b/tests/workspace_test/subcrate/Cargo.toml
index 45362c11b85..45362c11b85 100644
--- a/clippy_workspace_tests/subcrate/Cargo.toml
+++ b/tests/workspace_test/subcrate/Cargo.toml
diff --git a/clippy_workspace_tests/subcrate/src/lib.rs b/tests/workspace_test/subcrate/src/lib.rs
index 8b137891791..8b137891791 100644
--- a/clippy_workspace_tests/subcrate/src/lib.rs
+++ b/tests/workspace_test/subcrate/src/lib.rs