aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_lsp_server/tests/heavy_tests/support.rs
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2019-01-10 21:57:07 +0000
committerbors[bot] <bors[bot]@users.noreply.github.com>2019-01-10 21:57:07 +0000
commit28559b7dd2e2c101c4b7f2c9bb207b3af94f6e16 (patch)
tree7bee8dee5216b7eb459edaa0aad54f04dcef3f97 /crates/ra_lsp_server/tests/heavy_tests/support.rs
parentb6bc55f542c88b1b0789435219f9dbf38c110f47 (diff)
parent6b7699d187d51e8a26ba1a18a217a77dd236458f (diff)
Merge #489
489: support std r=matklad a=matklad closes #465 Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_lsp_server/tests/heavy_tests/support.rs')
-rw-r--r--crates/ra_lsp_server/tests/heavy_tests/support.rs13
1 files changed, 7 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 7db168b0f..46107b6b6 100644
--- a/crates/ra_lsp_server/tests/heavy_tests/support.rs
+++ b/crates/ra_lsp_server/tests/heavy_tests/support.rs
@@ -93,9 +93,7 @@ impl Server {
93 R: Request, 93 R: Request,
94 R::Params: Serialize, 94 R::Params: Serialize,
95 { 95 {
96 let id = self.req_id.get(); 96 let actual = self.send_request::<R>(params);
97 self.req_id.set(id + 1);
98 let actual = self.send_request::<R>(id, params);
99 match find_mismatch(&expected_resp, &actual) { 97 match find_mismatch(&expected_resp, &actual) {
100 Some((expected_part, actual_part)) => panic!( 98 Some((expected_part, actual_part)) => panic!(
101 "JSON mismatch\nExpected:\n{}\nWas:\n{}\nExpected part:\n{}\nActual part:\n{}\n", 99 "JSON mismatch\nExpected:\n{}\nWas:\n{}\nExpected part:\n{}\nActual part:\n{}\n",
@@ -108,11 +106,14 @@ impl Server {
108 } 106 }
109 } 107 }
110 108
111 fn send_request<R>(&self, id: u64, params: R::Params) -> Value 109 pub fn send_request<R>(&self, params: R::Params) -> Value
112 where 110 where
113 R: Request, 111 R: Request,
114 R::Params: Serialize, 112 R::Params: Serialize,
115 { 113 {
114 let id = self.req_id.get();
115 self.req_id.set(id + 1);
116
116 let r = RawRequest::new::<R>(id, &params); 117 let r = RawRequest::new::<R>(id, &params);
117 self.send_request_(r) 118 self.send_request_(r)
118 } 119 }
@@ -178,7 +179,7 @@ impl Server {
178 179
179impl Drop for Server { 180impl Drop for Server {
180 fn drop(&mut self) { 181 fn drop(&mut self) {
181 self.send_request::<Shutdown>(666, ()); 182 self.send_request::<Shutdown>(());
182 let receiver = self.worker.take().unwrap().shutdown(); 183 let receiver = self.worker.take().unwrap().shutdown();
183 while let Some(msg) = recv_timeout(&receiver) { 184 while let Some(msg) = recv_timeout(&receiver) {
184 drop(msg); 185 drop(msg);
@@ -188,7 +189,7 @@ impl Drop for Server {
188} 189}
189 190
190fn recv_timeout(receiver: &Receiver<RawMessage>) -> Option<RawMessage> { 191fn recv_timeout(receiver: &Receiver<RawMessage>) -> Option<RawMessage> {
191 let timeout = Duration::from_secs(5); 192 let timeout = Duration::from_secs(50);
192 select! { 193 select! {
193 recv(receiver) -> msg => msg.ok(), 194 recv(receiver) -> msg => msg.ok(),
194 recv(after(timeout)) -> _ => panic!("timed out"), 195 recv(after(timeout)) -> _ => panic!("timed out"),