diff --git a/awc/tests/test_client.rs b/awc/tests/test_client.rs index 88987e639..b9e93c11a 100644 --- a/awc/tests/test_client.rs +++ b/awc/tests/test_client.rs @@ -722,8 +722,12 @@ async fn test_client_cookie_handling() { async fn client_unread_response() { let addr = test::unused_addr(); + let ready = Arc::new(std::sync::atomic::AtomicBool::new(false)); + let ready_clone = ready.clone(); + std::thread::spawn(move || { let lst = std::net::TcpListener::bind(addr).unwrap(); + ready_clone.store(true, Ordering::Relaxed); for stream in lst.incoming() { let mut stream = stream.unwrap(); @@ -738,6 +742,9 @@ async fn client_unread_response() { } }); + // wait for server thread ready + while !ready.load(Ordering::Relaxed) {} + // client request let req = awc::Client::new().get(format!("http://{}/", addr).as_str()); let mut res = req.send().await.unwrap();