about summary refs log tree commit diff
diff options
context:
space:
mode:
authorduncan <duncan@thorny.io>2025-01-09 16:01:08 +0000
committerduncan <duncan@thorny.io>2025-01-09 16:01:08 +0000
commitc26f175b16c1a3ce9fca0476484a3a6b5638731b (patch)
tree112a4e3a98773ab296022410415211a74149d8ca
parentd1b9176f2404d769d7ac7411d990045792dd62e3 (diff)
downloadrust-c26f175b16c1a3ce9fca0476484a3a6b5638731b.tar.gz
rust-c26f175b16c1a3ce9fca0476484a3a6b5638731b.zip
Fix parsing cargo test json output by making stdout and optional field
-rw-r--r--src/tools/rust-analyzer/crates/rust-analyzer/src/test_runner.rs6
1 files changed, 5 insertions, 1 deletions
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 503b3ee43a1..3edfb812cf5 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
@@ -18,7 +18,11 @@ pub(crate) enum TestState {
     Started,
     Ok,
     Ignored,
-    Failed { stdout: String },
+    Failed {
+        // the stdout field is not always present depending on cargo test flags
+        #[serde(skip_serializing_if = "String::is_empty", default)]
+        stdout: String,
+    },
 }
 
 #[derive(Debug, Deserialize)]