From 57b6659957336375192eabb38ab4db2f0ccd428f Mon Sep 17 00:00:00 2001 From: Florent 'Skia' Jacquet Date: Wed, 10 Jul 2024 12:18:53 +0200 Subject: [PATCH] tests: bypass the proxy when testing timeouts If an explicit proxy is configured in the environment, the timeout tests will actually go through it, and then the test results will depend on the proxy's performance, which can vary. Testing this is very simple: ``` export http_proxy="http://127.0.0.1:1234" cargo test timeouts ``` We're hitting this issue in the Ubuntu CI. Further investigations after 892569e10b69d1a0e5db1f53202d1ebf09924fc1 seemed to point that **sometimes**, the proxy would be too slow (particularly on non amd64 architectures), leading to the tests to actually timeout and pass. --- tests/timeouts.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/timeouts.rs b/tests/timeouts.rs index c3649ea9f..410d722f4 100644 --- a/tests/timeouts.rs +++ b/tests/timeouts.rs @@ -19,6 +19,7 @@ async fn client_timeout() { let client = reqwest::Client::builder() .timeout(Duration::from_millis(100)) + .no_proxy() .build() .unwrap(); @@ -44,7 +45,7 @@ async fn request_timeout() { } }); - let client = reqwest::Client::builder().build().unwrap(); + let client = reqwest::Client::builder().no_proxy().build().unwrap(); let url = format!("http://{}/slow", server.addr()); @@ -71,6 +72,7 @@ async fn connect_timeout() { let client = reqwest::Client::builder() .connect_timeout(Duration::from_millis(100)) + .no_proxy() .build() .unwrap(); @@ -101,6 +103,7 @@ async fn connect_many_timeout_succeeds() { &["10.255.255.1:81".parse().unwrap(), server.addr()], ) .connect_timeout(Duration::from_millis(100)) + .no_proxy() .build() .unwrap(); @@ -128,6 +131,7 @@ async fn connect_many_timeout() { ], ) .connect_timeout(Duration::from_millis(100)) + .no_proxy() .build() .unwrap(); @@ -190,6 +194,7 @@ async fn read_timeout_applies_to_headers() { let client = reqwest::Client::builder() .read_timeout(Duration::from_millis(100)) + .no_proxy() .build() .unwrap(); @@ -410,7 +415,7 @@ async fn response_body_timeout_forwards_size_hint() { let server = server::http(move |_req| async { http::Response::new(b"hello".to_vec().into()) }); - let client = reqwest::Client::new(); + let client = reqwest::Client::builder().no_proxy().build().unwrap(); let url = format!("http://{}/slow", server.addr());