about summary refs log tree commit diff
path: root/src/tools/rust-analyzer
diff options
context:
space:
mode:
authorduncan <duncan@thorny.io>2024-08-25 11:04:52 +0100
committerduncan <duncan@thorny.io>2024-08-25 12:11:36 +0100
commit2703ea1623e498caa6882de083ef786b7ace4b95 (patch)
tree76c788218ef5b20710ba0c22a140e26d94dfcf66 /src/tools/rust-analyzer
parentc223013005fd88e14e29d6129d14291d803bf7a5 (diff)
downloadrust-2703ea1623e498caa6882de083ef786b7ace4b95.tar.gz
rust-2703ea1623e498caa6882de083ef786b7ace4b95.zip
fix: add extra_test_bin_args to test explorer test runner
trim whitespace
Diffstat (limited to 'src/tools/rust-analyzer')
-rw-r--r--src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs2
-rw-r--r--src/tools/rust-analyzer/crates/rust-analyzer/src/flycheck.rs1
-rw-r--r--src/tools/rust-analyzer/crates/rust-analyzer/src/test_runner.rs5
3 files changed, 8 insertions, 0 deletions
diff --git a/src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs b/src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs
index f74e3d6db15..2889af844b1 100644
--- a/src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs
+++ b/src/tools/rust-analyzer/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/src/tools/rust-analyzer/crates/rust-analyzer/src/flycheck.rs b/src/tools/rust-analyzer/crates/rust-analyzer/src/flycheck.rs
index 9fb43286579..b035d779a7d 100644
--- a/src/tools/rust-analyzer/crates/rust-analyzer/src/flycheck.rs
+++ b/src/tools/rust-analyzer/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/src/tools/rust-analyzer/crates/rust-analyzer/src/test_runner.rs b/src/tools/rust-analyzer/crates/rust-analyzer/src/test_runner.rs
index 293cff47433..5e43a3c60d8 100644
--- a/src/tools/rust-analyzer/crates/rust-analyzer/src/test_runner.rs
+++ b/src/tools/rust-analyzer/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)? })
     }
 }