Unnamed repository; edit this file 'description' to name the repository.
fix: add extra_test_bin_args to test explorer test runner
trim whitespace
duncan 2024-08-25
parent f4dbbac · commit 18081ea
-rw-r--r--crates/rust-analyzer/src/config.rs2
-rw-r--r--crates/rust-analyzer/src/flycheck.rs1
-rw-r--r--crates/rust-analyzer/src/test_runner.rs5
3 files changed, 8 insertions, 0 deletions
diff --git a/crates/rust-analyzer/src/config.rs b/crates/rust-analyzer/src/config.rs
index f74e3d6db1..2889af844b 100644
--- a/crates/rust-analyzer/src/config.rs
+++ b/crates/rust-analyzer/src/config.rs
@@ -1884,6 +1884,7 @@ impl Config {
CargoFeaturesDef::Selected(it) => it,
},
extra_args: self.extra_args().clone(),
+ extra_test_bin_args: self.runnables_extraTestBinaryArgs().clone(),
extra_env: self.extra_env().clone(),
target_dir: self.target_dir_from_config(),
}
@@ -1934,6 +1935,7 @@ impl Config {
CargoFeaturesDef::Selected(it) => it,
},
extra_args: self.check_extra_args(),
+ extra_test_bin_args: self.runnables_extraTestBinaryArgs().clone(),
extra_env: self.check_extra_env(),
target_dir: self.target_dir_from_config(),
},
diff --git a/crates/rust-analyzer/src/flycheck.rs b/crates/rust-analyzer/src/flycheck.rs
index 9fb4328657..b035d779a7 100644
--- a/crates/rust-analyzer/src/flycheck.rs
+++ b/crates/rust-analyzer/src/flycheck.rs
@@ -30,6 +30,7 @@ pub(crate) struct CargoOptions {
pub(crate) all_features: bool,
pub(crate) features: Vec<String>,
pub(crate) extra_args: Vec<String>,
+ pub(crate) extra_test_bin_args: Vec<String>,
pub(crate) extra_env: FxHashMap<String, String>,
pub(crate) target_dir: Option<Utf8PathBuf>,
}
diff --git a/crates/rust-analyzer/src/test_runner.rs b/crates/rust-analyzer/src/test_runner.rs
index 293cff4743..5e43a3c60d 100644
--- a/crates/rust-analyzer/src/test_runner.rs
+++ b/crates/rust-analyzer/src/test_runner.rs
@@ -102,6 +102,11 @@ impl CargoTestHandle {
}
cmd.args(["-Z", "unstable-options"]);
cmd.arg("--format=json");
+
+ for extra_arg in options.extra_test_bin_args {
+ cmd.arg(extra_arg);
+ }
+
Ok(Self { _handle: CommandHandle::spawn(cmd, sender)? })
}
}