From f65b5d0ddf1ae0a551756424503c3cfe0e7ad8a6 Mon Sep 17 00:00:00 2001 From: Eval EXEC Date: Sun, 18 Jun 2023 15:41:50 +0800 Subject: [PATCH] Add unit test to connect to an unreachable address Signed-off-by: Eval EXEC --- library/std/src/net/tcp/tests.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/library/std/src/net/tcp/tests.rs b/library/std/src/net/tcp/tests.rs index 08ee451dfcd..4209d4b6342 100644 --- a/library/std/src/net/tcp/tests.rs +++ b/library/std/src/net/tcp/tests.rs @@ -46,6 +46,17 @@ fn connect_error() { } } +#[test] +fn connect_timeout_to_unreachable_address() { + let now = Instant::now(); + match TcpStream::connect_timeout(&format!("1.1.1.1:9999").parse().unwrap(), Duration::MAX) { + Ok(..) => panic!("connected to an unreachable address, this is impossible"), + Err(e) => assert_eq!(e.kind(), ErrorKind::TimedOut), + } + + assert!(now.elapsed() > Duration::from_secs(20)); +} + #[test] fn connect_timeout_error() { let socket_addr = next_test_ip4();