diff --git a/Cargo.toml b/Cargo.toml index 73ab0f5a..c27d8c74 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,7 +81,6 @@ futures = "0.3.1" fxhash = "0.2.1" log = "0.4" mime = "0.3" -net2 = "0.2.33" socket2 = "0.3.11" pin-project = "0.4.6" regex = "1.3" diff --git a/src/test.rs b/src/test.rs index 95698053..29869af8 100644 --- a/src/test.rs +++ b/src/test.rs @@ -20,7 +20,6 @@ use awc::{Client, ClientRequest, ClientResponse, Connector}; use bytes::{Bytes, BytesMut}; use futures::future::ok; use futures::stream::{Stream, StreamExt}; -use net2::TcpBuilder; use serde::de::DeserializeOwned; use serde::Serialize; use serde_json; @@ -831,16 +830,6 @@ impl TestServerConfig { } } -/// Get first available unused address -pub fn unused_addr() -> net::SocketAddr { - let addr: net::SocketAddr = "127.0.0.1:0".parse().unwrap(); - let socket = TcpBuilder::new_v4().unwrap(); - socket.bind(&addr).unwrap(); - socket.reuse_address(true).unwrap(); - let tcp = socket.to_tcp_listener().unwrap(); - tcp.local_addr().unwrap() -} - /// Test server controller pub struct TestServer { addr: net::SocketAddr, diff --git a/test-server/src/lib.rs b/test-server/src/lib.rs index 27326c67..ed99f498 100644 --- a/test-server/src/lib.rs +++ b/test-server/src/lib.rs @@ -9,7 +9,6 @@ use awc::{error::PayloadError, ws, Client, ClientRequest, ClientResponse, Connec use bytes::Bytes; use futures::Stream; use http::Method; -use net2::TcpBuilder; pub use actix_testing::*; @@ -101,16 +100,6 @@ pub fn test_server>(factory: F) -> TestServer { } } -/// Get first available unused address -pub fn unused_addr() -> net::SocketAddr { - let addr: net::SocketAddr = "127.0.0.1:0".parse().unwrap(); - let socket = TcpBuilder::new_v4().unwrap(); - socket.bind(&addr).unwrap(); - socket.reuse_address(true).unwrap(); - let tcp = socket.to_tcp_listener().unwrap(); - tcp.local_addr().unwrap() -} - /// Test server controller pub struct TestServer { addr: net::SocketAddr, diff --git a/tests/test_httpserver.rs b/tests/test_httpserver.rs index ecd5c9ff..73c196f6 100644 --- a/tests/test_httpserver.rs +++ b/tests/test_httpserver.rs @@ -1,4 +1,3 @@ -use net2::TcpBuilder; use std::sync::mpsc; use std::{net, thread, time::Duration}; @@ -8,12 +7,18 @@ use open_ssl::ssl::SslAcceptorBuilder; use actix_web::{web, App, HttpResponse, HttpServer}; fn unused_addr() -> net::SocketAddr { - let addr: net::SocketAddr = "127.0.0.1:0".parse().unwrap(); - let socket = TcpBuilder::new_v4().unwrap(); - socket.bind(&addr).unwrap(); - socket.reuse_address(true).unwrap(); - let tcp = socket.to_tcp_listener().unwrap(); - tcp.local_addr().unwrap() + (1025..65535).find_map(|port| { + match net::TcpListener::bind(net::SocketAddr::new( + net::IpAddr::V4(net::Ipv4Addr::new(127, 0, 0, 1)), + port, + )) { + Ok(listener) => { + Some(listener.local_addr()) + } + Err(_) => None, + } + }); + panic!("Could not find an unused port!"); } #[cfg(unix)]