diff --git a/codex-rs/core/tests/common/responses.rs b/codex-rs/core/tests/common/responses.rs index 8f698ed28..f8fbcfff5 100644 --- a/codex-rs/core/tests/common/responses.rs +++ b/codex-rs/core/tests/common/responses.rs @@ -821,13 +821,20 @@ pub async fn start_websocket_server(connections: Vec>>) -> WebSoc continue; }; - let mut connection_log = Vec::new(); + let connection_index = { + let mut log = requests.lock().unwrap(); + log.push(Vec::new()); + log.len() - 1 + }; for request_events in connection_requests { let Some(Ok(message)) = ws_stream.next().await else { break; }; if let Some(body) = parse_ws_request_body(message) { - connection_log.push(WebSocketRequest { body }); + let mut log = requests.lock().unwrap(); + if let Some(connection_log) = log.get_mut(connection_index) { + connection_log.push(WebSocketRequest { body }); + } } for event in &request_events { @@ -840,7 +847,6 @@ pub async fn start_websocket_server(connections: Vec>>) -> WebSoc } } - requests.lock().unwrap().push(connection_log); let _ = ws_stream.close(None).await; if connections.lock().unwrap().is_empty() {