Skip to content

Commit a3b4acb

Browse files
committed
fix tests by polling SendRequest::ready
1 parent 4dc9bcf commit a3b4acb

File tree

1 file changed

+15
-20
lines changed

1 file changed

+15
-20
lines changed

tests/h2-tests/tests/client_request.rs

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,8 @@ async fn request_over_max_concurrent_streams_errors() {
239239

240240
// first request is allowed
241241
let (resp1, mut stream1) = client.send_request(request, false).unwrap();
242+
// as long as we let the connection internals tick
243+
client = h2.drive(client.ready()).await.unwrap();
242244

243245
let request = Request::builder()
244246
.method(Method::POST)
@@ -303,16 +305,25 @@ async fn recv_decrement_max_concurrent_streams_when_requests_queued() {
303305
srv.ping_pong([0; 8]).await;
304306

305307
// limit this server later in life
306-
srv.send_frame(frames::settings().max_concurrent_streams(1)).await;
308+
srv.send_frame(frames::settings().max_concurrent_streams(1))
309+
.await;
307310
srv.recv_frame(frames::settings_ack()).await;
308-
309311
srv.recv_frame(
310312
frames::headers(3)
311313
.request("POST", "https://example.com/")
312314
.eos(),
313315
)
314316
.await;
315317
srv.ping_pong([1; 8]).await;
318+
srv.send_frame(frames::headers(3).response(200).eos()).await;
319+
320+
srv.recv_frame(
321+
frames::headers(5)
322+
.request("POST", "https://example.com/")
323+
.eos(),
324+
)
325+
.await;
326+
srv.send_frame(frames::headers(5).response(200).eos()).await;
316327
};
317328

318329
let h2 = async move {
@@ -346,24 +357,6 @@ async fn recv_decrement_max_concurrent_streams_when_requests_queued() {
346357
// second request is put into pending_open
347358
let (resp2, _) = client.send_request(request, true).unwrap();
348359

349-
/*
350-
let request = Request::builder()
351-
.method(Method::GET)
352-
.uri("https://example.com/")
353-
.body(())
354-
.unwrap();
355-
356-
let waker = futures::task::noop_waker();
357-
let mut cx = Context::from_waker(&waker);
358-
359-
// third stream is over max concurrent
360-
assert!(!client.poll_ready(&mut cx).is_ready());
361-
362-
let err = client.send_request(request, true).unwrap_err();
363-
assert_eq!(err.to_string(), "user error: rejected");
364-
*/
365-
366-
367360
h2.drive(async move {
368361
resp1.await.expect("req");
369362
})
@@ -429,6 +422,8 @@ async fn send_request_poll_ready_when_connection_error() {
429422

430423
// first request is allowed
431424
let (resp1, _) = client.send_request(request, true).unwrap();
425+
// as long as we let the connection internals tick
426+
client = h2.drive(client.ready()).await.unwrap();
432427

433428
let request = Request::builder()
434429
.method(Method::POST)

0 commit comments

Comments
 (0)