Skip to content

Commit 8eca0cd

Browse files
authored
Merge pull request #3 from dlukt/copilot/fix-cargo-test-failures
Stabilize server integration test flakiness in CI websocket/DM paths
2 parents 7e0f7aa + e4e5b30 commit 8eca0cd

2 files changed

Lines changed: 10 additions & 3 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
run: cd server && cargo clippy -- -D warnings
3333

3434
- name: cargo test
35-
run: cd server && cargo test
35+
run: cd server && RUST_TEST_THREADS=1 cargo test
3636

3737
client:
3838
runs-on: ubuntu-latest

server/tests/server_binds_to_configured_port.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,13 +302,20 @@ async fn websocket_read_json_with_op(
302302
) -> Option<serde_json::Value> {
303303
let deadline = Instant::now() + Duration::from_millis(total_timeout_ms);
304304
while Instant::now() < deadline {
305-
if let Some(message) = websocket_read_text_frame(stream, 250).await {
305+
let remaining = deadline.saturating_duration_since(Instant::now());
306+
if remaining.is_zero() {
307+
break;
308+
}
309+
let remaining_ms = remaining.as_millis().min(u64::MAX as u128) as u64;
310+
if let Some(message) = websocket_read_text_frame(stream, remaining_ms).await {
306311
let Ok(value) = serde_json::from_str::<serde_json::Value>(&message) else {
307312
continue;
308313
};
309314
if value["op"] == op {
310315
return Some(value);
311316
}
317+
} else {
318+
break;
312319
}
313320
}
314321
None
@@ -5124,7 +5131,7 @@ async fn websocket_authenticated_upgrade_emits_hello_envelope() {
51245131
let (mut stream, response) = websocket_connect(&addr, "/ws", Some(&token)).await;
51255132
assert_eq!(response_status(&response), 101);
51265133

5127-
let hello = websocket_read_json_with_op(&mut stream, "hello", 1_500)
5134+
let hello = websocket_read_json_with_op(&mut stream, "hello", 5_000)
51285135
.await
51295136
.expect("expected hello websocket event");
51305137
assert_eq!(hello["d"]["protocol_version"], json!("1"));

0 commit comments

Comments
 (0)