Skip to content

Commit 757c7f1

Browse files
committed
Timeout on coalesce test
This test occasionally gets stuck! It's hard to reproduce though so this timeout should detect and fail it. Turning on trace logging for failures as well.
1 parent 8c680f8 commit 757c7f1

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

.github/workflows/ci.yml

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66

77
env:
88
CARGO_TERM_COLOR: always
9+
RUST_LOG: trace
910

1011
jobs:
1112
build_and_test:

rustygeard/tests/server.rs

+18-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
use std::{
22
sync::{Arc, Mutex},
33
thread,
4+
time::Duration,
45
};
56

67
use rustygear::client::{Client, WorkUpdate};
78
use rustygeard::testutil::start_test_server;
9+
use tokio::time::timeout;
810
use uuid::Uuid;
911

1012
#[test]
@@ -68,8 +70,14 @@ async fn test_server_coalesces_uniqs() {
6870
.await
6971
.expect("Submitting uniqid1 on client2");
7072
tx.send(()).await.expect("Sending to let the worker finish");
71-
let response1 = job1.response().await.expect("Getting response to job1");
72-
let response2 = job2.response().await.expect("Getting response to job2");
73+
let response1 = timeout(Duration::from_millis(1000), job1.response())
74+
.await
75+
.expect("response1 timeout")
76+
.expect("Getting response to job1");
77+
let response2 = timeout(Duration::from_millis(1000), job2.response())
78+
.await
79+
.expect("reponse2 timeout")
80+
.expect("Getting response to job2");
7381
if let WorkUpdate::Complete {
7482
handle: handle1,
7583
payload: payload1,
@@ -99,8 +107,14 @@ async fn test_server_coalesces_uniqs() {
99107
.expect("submitting uniqid2b job");
100108
tx.send(()).await.expect("Sending to let the worker finish");
101109
tx.send(()).await.expect("Sending to let the worker finish");
102-
let response1b = job1b.response().await.expect("Getting response from job1b");
103-
let response2b = job2b.response().await.expect("Getting response from job2b");
110+
let response1b = timeout(Duration::from_millis(1000), job1b.response())
111+
.await
112+
.expect("response1b timeout")
113+
.expect("Getting response from job1b");
114+
let response2b = timeout(Duration::from_millis(1000), job2b.response())
115+
.await
116+
.expect("response2b timeout")
117+
.expect("Getting response from job2b");
104118
if let WorkUpdate::Complete {
105119
handle: handle1b,
106120
payload: _,

0 commit comments

Comments
 (0)