diff options
Diffstat (limited to 'crates/ra_lsp_server/tests')
-rw-r--r-- | crates/ra_lsp_server/tests/heavy_tests/support.rs | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/crates/ra_lsp_server/tests/heavy_tests/support.rs b/crates/ra_lsp_server/tests/heavy_tests/support.rs index c14d287ca..7db168b0f 100644 --- a/crates/ra_lsp_server/tests/heavy_tests/support.rs +++ b/crates/ra_lsp_server/tests/heavy_tests/support.rs | |||
@@ -16,7 +16,7 @@ use languageserver_types::{ | |||
16 | }; | 16 | }; |
17 | use serde::Serialize; | 17 | use serde::Serialize; |
18 | use serde_json::{to_string_pretty, Value}; | 18 | use serde_json::{to_string_pretty, Value}; |
19 | use tempdir::TempDir; | 19 | use tempfile::TempDir; |
20 | use thread_worker::{WorkerHandle, Worker}; | 20 | use thread_worker::{WorkerHandle, Worker}; |
21 | use test_utils::{parse_fixture, find_mismatch}; | 21 | use test_utils::{parse_fixture, find_mismatch}; |
22 | 22 | ||
@@ -28,7 +28,7 @@ pub fn project(fixture: &str) -> Server { | |||
28 | static INIT: Once = Once::new(); | 28 | static INIT: Once = Once::new(); |
29 | INIT.call_once(|| Logger::with_env_or_str(crate::LOG).start().unwrap()); | 29 | INIT.call_once(|| Logger::with_env_or_str(crate::LOG).start().unwrap()); |
30 | 30 | ||
31 | let tmp_dir = TempDir::new("test-project").unwrap(); | 31 | let tmp_dir = TempDir::new().unwrap(); |
32 | let mut paths = vec![]; | 32 | let mut paths = vec![]; |
33 | 33 | ||
34 | for entry in parse_fixture(fixture) { | 34 | for entry in parse_fixture(fixture) { |
@@ -118,7 +118,11 @@ impl Server { | |||
118 | } | 118 | } |
119 | fn send_request_(&self, r: RawRequest) -> Value { | 119 | fn send_request_(&self, r: RawRequest) -> Value { |
120 | let id = r.id; | 120 | let id = r.id; |
121 | self.worker.as_ref().unwrap().send(RawMessage::Request(r)); | 121 | self.worker |
122 | .as_ref() | ||
123 | .unwrap() | ||
124 | .send(RawMessage::Request(r)) | ||
125 | .unwrap(); | ||
122 | while let Some(msg) = self.recv() { | 126 | while let Some(msg) = self.recv() { |
123 | match msg { | 127 | match msg { |
124 | RawMessage::Request(req) => panic!("unexpected request: {:?}", req), | 128 | RawMessage::Request(req) => panic!("unexpected request: {:?}", req), |
@@ -167,7 +171,8 @@ impl Server { | |||
167 | self.worker | 171 | self.worker |
168 | .as_ref() | 172 | .as_ref() |
169 | .unwrap() | 173 | .unwrap() |
170 | .send(RawMessage::Notification(not)); | 174 | .send(RawMessage::Notification(not)) |
175 | .unwrap(); | ||
171 | } | 176 | } |
172 | } | 177 | } |
173 | 178 | ||
@@ -185,7 +190,7 @@ impl Drop for Server { | |||
185 | fn recv_timeout(receiver: &Receiver<RawMessage>) -> Option<RawMessage> { | 190 | fn recv_timeout(receiver: &Receiver<RawMessage>) -> Option<RawMessage> { |
186 | let timeout = Duration::from_secs(5); | 191 | let timeout = Duration::from_secs(5); |
187 | select! { | 192 | select! { |
188 | recv(receiver, msg) => msg, | 193 | recv(receiver) -> msg => msg.ok(), |
189 | recv(after(timeout)) => panic!("timed out"), | 194 | recv(after(timeout)) -> _ => panic!("timed out"), |
190 | } | 195 | } |
191 | } | 196 | } |