test(client): Verify socket read timeout restoration after open()

This commit is contained in:
Nils Andreas Svee committed 2026-05-10 20:56:43 +07:00
1 parent f095eb5930
commit f1f5dfe541
1 file changed
+24
+24
View File
@@ -476,6 +476,30 @@ mod tests {
server.join(); server.join();
} }
#[test]
fn open_restores_configured_read_timeout_after_timeout() {
let server = timeout_server(Duration::from_millis(700));
let config = ClientConfig {
open_timeouts: vec![Duration::from_millis(200)],
socket_config: crate::SocketConfig {
recv_timeout: Some(Duration::from_millis(450)),
..crate::SocketConfig::default()
},
..default_test_config(server.addr)
};
let mut client = Client::connect(config).unwrap();
assert!(matches!(
client.open(ClientTimestamp::now()),
Err(ClientError::OpenTimeout)
));
let start = std::time::Instant::now();
let mut buf = [0_u8; 1];
assert!(client.socket.recv(&mut buf).is_err());
assert!(start.elapsed() >= Duration::from_millis(350));
server.join();
}
fn recv_request_timeout( fn recv_request_timeout(
socket: &UdpSocket, socket: &UdpSocket,
tx: &mpsc::Sender<Vec<u8>>, tx: &mpsc::Sender<Vec<u8>>,