From 85d71f4dff6d96678eeb195249fd340dc8cf4912 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Wed, 29 Jul 2020 15:35:27 +0300 Subject: [PATCH] Run package-specific cargo check and test for all targets --- crates/rust-analyzer/src/handlers.rs | 5 +++-- crates/rust-analyzer/tests/heavy_tests/main.rs | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/crates/rust-analyzer/src/handlers.rs b/crates/rust-analyzer/src/handlers.rs index 1350bd4002..87a1367ac2 100644 --- a/crates/rust-analyzer/src/handlers.rs +++ b/crates/rust-analyzer/src/handlers.rs @@ -469,12 +469,12 @@ pub(crate) fn handle_runnables( res.push(runnable); } - // Add `cargo check` and `cargo test` for the whole package + // Add `cargo check` and `cargo test` for all targets of the whole package match cargo_spec { Some(spec) => { for &cmd in ["check", "test"].iter() { res.push(lsp_ext::Runnable { - label: format!("cargo {} -p {}", cmd, spec.package), + label: format!("cargo {} -p {} --all-targets", cmd, spec.package), location: None, kind: lsp_ext::RunnableKind::Cargo, args: lsp_ext::CargoRunnable { @@ -483,6 +483,7 @@ pub(crate) fn handle_runnables( cmd.to_string(), "--package".to_string(), spec.package.clone(), + "--all-targets".to_string(), ], executable_args: Vec::new(), expect_test: None, diff --git a/crates/rust-analyzer/tests/heavy_tests/main.rs b/crates/rust-analyzer/tests/heavy_tests/main.rs index 28e8966487..7370505f8b 100644 --- a/crates/rust-analyzer/tests/heavy_tests/main.rs +++ b/crates/rust-analyzer/tests/heavy_tests/main.rs @@ -115,21 +115,21 @@ fn main() {} }, { "args": { - "cargoArgs": ["check", "--package", "foo"], + "cargoArgs": ["check", "--package", "foo", "--all-targets"], "executableArgs": [], "workspaceRoot": server.path().join("foo") }, "kind": "cargo", - "label": "cargo check -p foo" + "label": "cargo check -p foo --all-targets" }, { "args": { - "cargoArgs": ["test", "--package", "foo"], + "cargoArgs": ["test", "--package", "foo", "--all-targets"], "executableArgs": [], "workspaceRoot": server.path().join("foo") }, "kind": "cargo", - "label": "cargo test -p foo" + "label": "cargo test -p foo --all-targets" } ]), );