From 7951def04dea460edf24b7dd211523329bb8e8fe Mon Sep 17 00:00:00 2001 From: Oliver Gould Date: Sat, 22 Jul 2017 20:23:14 +0000 Subject: [PATCH] fixup tests --- src/proto/connection.rs | 16 +++++++++++++++- src/proto/state.rs | 2 +- tests/client_request.rs | 10 +++++----- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/proto/connection.rs b/src/proto/connection.rs index 93d04d1..10ae35f 100644 --- a/src/proto/connection.rs +++ b/src/proto/connection.rs @@ -133,7 +133,21 @@ impl Stream for Connection } loop { - let frame = try_ready!(self.inner.poll()); + let frame = match try!(self.inner.poll()) { + Async::Ready(f) => f, + + // XXX is this necessary? + Async::NotReady => { + // Receiving new frames may depend on ensuring that the write buffer + // is clear (e.g. if window updates need to be sent), so `poll_complete` + // is called here. + try_ready!(self.poll_complete()); + + // If the write buffer is cleared, attempt to poll the underlying + // stream once more because it, may have been made ready. + try_ready!(self.inner.poll()) + } + }; trace!("poll; frame={:?}", frame); let frame = match frame { diff --git a/src/proto/state.rs b/src/proto/state.rs index aa621e5..1817f25 100644 --- a/src/proto/state.rs +++ b/src/proto/state.rs @@ -146,7 +146,7 @@ impl StreamState { }; } - HalfClosedLocal(AwaitingHeaders) => { + HalfClosedRemote(AwaitingHeaders) => { *self = HalfClosedRemote(PeerState::streaming(sz)); } diff --git a/tests/client_request.rs b/tests/client_request.rs index b463191..5dbe4b5 100644 --- a/tests/client_request.rs +++ b/tests/client_request.rs @@ -55,7 +55,7 @@ mod client_request { trace!("hands have been shook"); // At this point, the connection should be closed - sassert_empty(&mut h2); + sassert_done(&mut h2); } #[test] @@ -98,7 +98,7 @@ mod client_request { // No more frames trace!("ensure no more responses"); - sassert_empty(&mut h2); + sassert_done(&mut h2); } #[test] @@ -162,7 +162,7 @@ mod client_request { _ => panic!("unexpected frame"), } - sassert_empty(&mut h2); + sassert_done(&mut h2); } #[test] @@ -226,7 +226,7 @@ mod client_request { _ => panic!("unexpected frame"), } - sassert_empty(&mut h2); + sassert_done(&mut h2); } #[test] @@ -306,7 +306,7 @@ mod client_request { _ => panic!("unexpected frame"), } - sassert_empty(&mut h2); + sassert_done(&mut h2); } #[test]