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

This commit is contained in:
Nils Andreas Svee committed 2026-04-28 16:42:33 +07:00
1 parent ebc7ec1c35
commit a3f0cf015a
1 file changed
+24
+24
View File
@@ -476,6 +476,30 @@ mod tests {
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(
socket: &UdpSocket,
tx: &mpsc::Sender<Vec<u8>>,