Update crate to Rust 2018 (#383)
This commit is contained in:
committed by
Sean McArthur
parent
b3351e675b
commit
db6b841e67
@@ -3,6 +3,7 @@ name = "h2-fuzz"
|
||||
version = "0.0.0"
|
||||
publish = false
|
||||
license = "MIT"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
h2 = { path = "../.." }
|
||||
|
||||
@@ -1,11 +1,3 @@
|
||||
extern crate futures;
|
||||
extern crate tokio_io;
|
||||
#[macro_use]
|
||||
extern crate honggfuzz;
|
||||
extern crate env_logger;
|
||||
extern crate h2;
|
||||
extern crate http;
|
||||
|
||||
use futures::prelude::*;
|
||||
use futures::{executor, future, task};
|
||||
use http::{Method, Request};
|
||||
@@ -155,7 +147,7 @@ fn run(script: &[u8]) -> Result<(), h2::Error> {
|
||||
fn main() {
|
||||
env_logger::init();
|
||||
loop {
|
||||
fuzz!(|data: &[u8]| {
|
||||
honggfuzz::fuzz!(|data: &[u8]| {
|
||||
eprintln!("{:?}", run(data));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
name = "h2-support"
|
||||
version = "0.1.0"
|
||||
authors = ["Carl Lerche <me@carllerche.com>"]
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
h2 = { path = "../..", features = ["unstable"] }
|
||||
|
||||
@@ -10,7 +10,7 @@ macro_rules! assert_closed {
|
||||
macro_rules! assert_headers {
|
||||
($frame:expr) => {{
|
||||
match $frame {
|
||||
::h2::frame::Frame::Headers(v) => v,
|
||||
h2::frame::Frame::Headers(v) => v,
|
||||
f => panic!("expected HEADERS; actual={:?}", f),
|
||||
}
|
||||
}}
|
||||
@@ -20,7 +20,7 @@ macro_rules! assert_headers {
|
||||
macro_rules! assert_data {
|
||||
($frame:expr) => {{
|
||||
match $frame {
|
||||
::h2::frame::Frame::Data(v) => v,
|
||||
h2::frame::Frame::Data(v) => v,
|
||||
f => panic!("expected DATA; actual={:?}", f),
|
||||
}
|
||||
}}
|
||||
@@ -30,7 +30,7 @@ macro_rules! assert_data {
|
||||
macro_rules! assert_ping {
|
||||
($frame:expr) => {{
|
||||
match $frame {
|
||||
::h2::frame::Frame::Ping(v) => v,
|
||||
h2::frame::Frame::Ping(v) => v,
|
||||
f => panic!("expected PING; actual={:?}", f),
|
||||
}
|
||||
}}
|
||||
@@ -40,7 +40,7 @@ macro_rules! assert_ping {
|
||||
macro_rules! assert_settings {
|
||||
($frame:expr) => {{
|
||||
match $frame {
|
||||
::h2::frame::Frame::Settings(v) => v,
|
||||
h2::frame::Frame::Settings(v) => v,
|
||||
f => panic!("expected SETTINGS; actual={:?}", f),
|
||||
}
|
||||
}}
|
||||
|
||||
@@ -1,17 +1,7 @@
|
||||
//! Utilities to support tests.
|
||||
|
||||
pub extern crate bytes;
|
||||
pub extern crate env_logger;
|
||||
#[macro_use]
|
||||
pub extern crate futures;
|
||||
pub extern crate h2;
|
||||
pub extern crate http;
|
||||
pub extern crate string;
|
||||
#[macro_use]
|
||||
pub extern crate tokio_io;
|
||||
|
||||
#[macro_use]
|
||||
mod assert;
|
||||
pub mod assert;
|
||||
|
||||
pub mod raw;
|
||||
|
||||
@@ -25,8 +15,8 @@ pub mod util;
|
||||
mod client_ext;
|
||||
mod future_ext;
|
||||
|
||||
pub use client_ext::{SendRequestExt};
|
||||
pub use future_ext::{FutureExt, Unwrap};
|
||||
pub use crate::client_ext::{SendRequestExt};
|
||||
pub use crate::future_ext::{FutureExt, Unwrap};
|
||||
|
||||
pub type WindowSize = usize;
|
||||
pub const DEFAULT_WINDOW_SIZE: WindowSize = (1 << 16) - 1;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use {frames, FutureExt, SendFrame};
|
||||
use crate::{frames, FutureExt, SendFrame};
|
||||
|
||||
use h2::{self, RecvError, SendError};
|
||||
use h2::frame::{self, Frame};
|
||||
@@ -22,7 +22,7 @@ pub struct Mock {
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Handle {
|
||||
codec: ::Codec<Pipe>,
|
||||
codec: crate::Codec<Pipe>,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
@@ -92,7 +92,7 @@ pub fn new_with_write_capacity(cap: usize) -> (Mock, Handle) {
|
||||
|
||||
impl Handle {
|
||||
/// Get a mutable reference to inner Codec.
|
||||
pub fn codec_mut(&mut self) -> &mut ::Codec<Pipe> {
|
||||
pub fn codec_mut(&mut self) -> &mut crate::Codec<Pipe> {
|
||||
&mut self.codec
|
||||
}
|
||||
|
||||
@@ -276,7 +276,7 @@ impl io::Write for Handle {
|
||||
impl AsyncWrite for Handle {
|
||||
fn shutdown(&mut self) -> Poll<(), io::Error> {
|
||||
use std::io::Write;
|
||||
try_nb!(self.flush());
|
||||
tokio_io::try_nb!(self.flush());
|
||||
Ok(().into())
|
||||
}
|
||||
}
|
||||
@@ -359,7 +359,7 @@ impl io::Write for Mock {
|
||||
impl AsyncWrite for Mock {
|
||||
fn shutdown(&mut self) -> Poll<(), io::Error> {
|
||||
use std::io::Write;
|
||||
try_nb!(self.flush());
|
||||
tokio_io::try_nb!(self.flush());
|
||||
Ok(().into())
|
||||
}
|
||||
}
|
||||
@@ -426,7 +426,7 @@ impl io::Write for Pipe {
|
||||
impl AsyncWrite for Pipe {
|
||||
fn shutdown(&mut self) -> Poll<(), io::Error> {
|
||||
use std::io::Write;
|
||||
try_nb!(self.flush());
|
||||
tokio_io::try_nb!(self.flush());
|
||||
Ok(().into())
|
||||
}
|
||||
}
|
||||
@@ -519,7 +519,7 @@ pub trait HandleFutureExt {
|
||||
.write_buf(&mut buf)
|
||||
.map_err(|e| panic!("write err={:?}", e));
|
||||
|
||||
try_ready!(res);
|
||||
futures::try_ready!(res);
|
||||
}
|
||||
|
||||
Ok(handle.take().unwrap().into())
|
||||
|
||||
@@ -25,8 +25,6 @@
|
||||
//! Then use it in your project. For example, a test could be written:
|
||||
//!
|
||||
//! ```
|
||||
//! extern crate mock_io;
|
||||
//!
|
||||
//! use mock_io::{Builder, Mock};
|
||||
//! use std::io::{Read, Write};
|
||||
//!
|
||||
@@ -88,7 +86,7 @@ use std::time::{Duration, Instant};
|
||||
pub struct Mock {
|
||||
inner: Inner,
|
||||
tokio: tokio::Inner,
|
||||
async: Option<bool>,
|
||||
r#async: Option<bool>,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
@@ -103,7 +101,7 @@ pub struct Builder {
|
||||
actions: VecDeque<Action>,
|
||||
|
||||
// true for Tokio, false for blocking, None to auto detect
|
||||
async: Option<bool>,
|
||||
r#async: Option<bool>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
@@ -171,7 +169,7 @@ impl Builder {
|
||||
waiting: None,
|
||||
},
|
||||
tokio: tokio,
|
||||
async: src.async,
|
||||
r#async: src.r#async,
|
||||
};
|
||||
|
||||
let handle = Handle { inner: handle };
|
||||
@@ -231,7 +229,7 @@ impl Mock {
|
||||
|
||||
/// Returns `true` if running in a futures-rs task context
|
||||
fn is_async(&self) -> bool {
|
||||
self.async.unwrap_or(tokio::is_task_ctx())
|
||||
self.r#async.unwrap_or(tokio::is_task_ctx())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -376,23 +374,19 @@ impl io::Write for Mock {
|
||||
// use tokio::*;
|
||||
|
||||
mod tokio {
|
||||
extern crate futures;
|
||||
extern crate tokio_io;
|
||||
extern crate tokio_timer;
|
||||
|
||||
use super::*;
|
||||
|
||||
use self::futures::{Future, Stream, Poll, Async};
|
||||
use self::futures::sync::mpsc;
|
||||
use self::futures::task::{self, Task};
|
||||
use self::tokio_io::{AsyncRead, AsyncWrite};
|
||||
use self::tokio_timer::{Timer, Sleep};
|
||||
use futures::{Future, Stream, Poll, Async};
|
||||
use futures::sync::mpsc;
|
||||
use futures::task::{self, Task};
|
||||
use tokio_io::{AsyncRead, AsyncWrite};
|
||||
use tokio_timer::{Timer, Sleep};
|
||||
|
||||
use std::io;
|
||||
|
||||
impl Builder {
|
||||
pub fn set_async(&mut self, is_async: bool) -> &mut Self {
|
||||
self.async = Some(is_async);
|
||||
self.r#async = Some(is_async);
|
||||
self
|
||||
}
|
||||
}
|
||||
@@ -467,7 +461,7 @@ mod tokio {
|
||||
pub fn async_read(me: &mut Mock, dst: &mut [u8]) -> io::Result<usize> {
|
||||
loop {
|
||||
if let Some(ref mut sleep) = me.tokio.sleep {
|
||||
let res = try!(sleep.poll());
|
||||
let res = r#try!(sleep.poll());
|
||||
|
||||
if !res.is_ready() {
|
||||
return Err(io::ErrorKind::WouldBlock.into());
|
||||
@@ -509,7 +503,7 @@ mod tokio {
|
||||
pub fn async_write(me: &mut Mock, src: &[u8]) -> io::Result<usize> {
|
||||
loop {
|
||||
if let Some(ref mut sleep) = me.tokio.sleep {
|
||||
let res = try!(sleep.poll());
|
||||
let res = r#try!(sleep.poll());
|
||||
|
||||
if !res.is_ready() {
|
||||
return Err(io::ErrorKind::WouldBlock.into());
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
|
||||
// Re-export H2 crate
|
||||
pub use super::h2;
|
||||
pub use h2;
|
||||
|
||||
pub use self::h2::*;
|
||||
pub use self::h2::client;
|
||||
pub use self::h2::frame::StreamId;
|
||||
pub use self::h2::server;
|
||||
pub use h2::*;
|
||||
pub use h2::client;
|
||||
pub use h2::frame::StreamId;
|
||||
pub use h2::server;
|
||||
|
||||
// Re-export mock
|
||||
pub use super::mock::{self, HandleFutureExt};
|
||||
@@ -22,11 +22,16 @@ pub use super::util;
|
||||
// Re-export some type defines
|
||||
pub use super::{Codec, SendFrame};
|
||||
|
||||
// Re-export macros
|
||||
pub use super::{assert_ping, assert_data, assert_headers, assert_closed,
|
||||
raw_codec, poll_frame, poll_err};
|
||||
|
||||
// Re-export useful crates
|
||||
pub use super::{bytes, env_logger, futures, http, mock_io, tokio_io};
|
||||
pub use {bytes, env_logger, futures, http, tokio_io};
|
||||
pub use super::mock_io;
|
||||
|
||||
// Re-export primary future types
|
||||
pub use self::futures::{Future, IntoFuture, Sink, Stream};
|
||||
pub use futures::{Future, IntoFuture, Sink, Stream};
|
||||
|
||||
// And our Future extensions
|
||||
pub use super::future_ext::{FutureExt, Unwrap};
|
||||
@@ -35,9 +40,9 @@ pub use super::future_ext::{FutureExt, Unwrap};
|
||||
pub use super::client_ext::{SendRequestExt};
|
||||
|
||||
// Re-export HTTP types
|
||||
pub use self::http::{uri, HeaderMap, Method, Request, Response, StatusCode, Version};
|
||||
pub use http::{uri, HeaderMap, Method, Request, Response, StatusCode, Version};
|
||||
|
||||
pub use self::bytes::{Buf, BufMut, Bytes, BytesMut, IntoBuf};
|
||||
pub use bytes::{Buf, BufMut, Bytes, BytesMut, IntoBuf};
|
||||
|
||||
pub use tokio_io::{AsyncRead, AsyncWrite};
|
||||
|
||||
@@ -53,7 +58,7 @@ pub trait MockH2 {
|
||||
fn handshake(&mut self) -> &mut Self;
|
||||
}
|
||||
|
||||
impl MockH2 for mock_io::Builder {
|
||||
impl MockH2 for super::mock_io::Builder {
|
||||
fn handshake(&mut self) -> &mut Self {
|
||||
self.write(b"PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n")
|
||||
// Settings frame
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use h2;
|
||||
|
||||
use super::string::{String, TryFrom};
|
||||
use string::{String, TryFrom};
|
||||
use bytes::Bytes;
|
||||
use futures::{Async, Future, Poll};
|
||||
|
||||
@@ -44,7 +44,7 @@ impl Future for WaitForCapacity {
|
||||
type Error = ();
|
||||
|
||||
fn poll(&mut self) -> Poll<Self::Item, ()> {
|
||||
let _ = try_ready!(self.stream().poll_capacity().map_err(|_| panic!()));
|
||||
let _ = futures::try_ready!(self.stream().poll_capacity().map_err(|_| panic!()));
|
||||
|
||||
let act = self.stream().capacity();
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ name = "h2-tests"
|
||||
version = "0.1.0"
|
||||
authors = ["Carl Lerche <me@carllerche.com>"]
|
||||
publish = false
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
#[macro_use]
|
||||
extern crate log;
|
||||
extern crate h2_support;
|
||||
|
||||
use h2_support::prelude::*;
|
||||
|
||||
#[test]
|
||||
fn handshake() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let mock = mock_io::Builder::new()
|
||||
.handshake()
|
||||
@@ -15,7 +11,7 @@ fn handshake() {
|
||||
|
||||
let (_client, h2) = client::handshake(mock).wait().unwrap();
|
||||
|
||||
trace!("hands have been shook");
|
||||
log::trace!("hands have been shook");
|
||||
|
||||
// At this point, the connection should be closed
|
||||
h2.wait().unwrap();
|
||||
@@ -23,7 +19,7 @@ fn handshake() {
|
||||
|
||||
#[test]
|
||||
fn client_other_thread() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -60,7 +56,7 @@ fn client_other_thread() {
|
||||
|
||||
#[test]
|
||||
fn recv_invalid_server_stream_id() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let mock = mock_io::Builder::new()
|
||||
.handshake()
|
||||
@@ -84,7 +80,7 @@ fn recv_invalid_server_stream_id() {
|
||||
.body(())
|
||||
.unwrap();
|
||||
|
||||
info!("sending request");
|
||||
log::info!("sending request");
|
||||
let (response, _) = client.send_request(request, true).unwrap();
|
||||
|
||||
// The connection errors
|
||||
@@ -96,7 +92,7 @@ fn recv_invalid_server_stream_id() {
|
||||
|
||||
#[test]
|
||||
fn request_stream_id_overflows() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
|
||||
@@ -159,7 +155,7 @@ fn request_stream_id_overflows() {
|
||||
|
||||
#[test]
|
||||
fn client_builder_max_concurrent_streams() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let mut settings = frame::Settings::default();
|
||||
@@ -199,7 +195,7 @@ fn client_builder_max_concurrent_streams() {
|
||||
|
||||
#[test]
|
||||
fn request_over_max_concurrent_streams_errors() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
|
||||
@@ -284,7 +280,7 @@ fn request_over_max_concurrent_streams_errors() {
|
||||
|
||||
#[test]
|
||||
fn send_request_poll_ready_when_connection_error() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
|
||||
@@ -362,7 +358,7 @@ fn send_request_poll_ready_when_connection_error() {
|
||||
|
||||
#[test]
|
||||
fn send_reset_notifies_recv_stream() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
|
||||
@@ -426,7 +422,7 @@ fn send_reset_notifies_recv_stream() {
|
||||
|
||||
#[test]
|
||||
fn http_11_request_without_scheme_or_authority() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -461,7 +457,7 @@ fn http_11_request_without_scheme_or_authority() {
|
||||
|
||||
#[test]
|
||||
fn http_2_request_without_scheme_or_authority() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -501,7 +497,7 @@ fn request_with_h1_version() {}
|
||||
|
||||
#[test]
|
||||
fn request_with_connection_headers() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
// can't assert full handshake, since client never sends a request, and
|
||||
@@ -544,7 +540,7 @@ fn request_with_connection_headers() {
|
||||
|
||||
#[test]
|
||||
fn connection_close_notifies_response_future() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -587,7 +583,7 @@ fn connection_close_notifies_response_future() {
|
||||
|
||||
#[test]
|
||||
fn connection_close_notifies_client_poll_ready() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -637,7 +633,7 @@ fn connection_close_notifies_client_poll_ready() {
|
||||
|
||||
#[test]
|
||||
fn sending_request_on_closed_connection() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -702,7 +698,7 @@ fn sending_request_on_closed_connection() {
|
||||
|
||||
#[test]
|
||||
fn recv_too_big_headers() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -779,7 +775,7 @@ fn recv_too_big_headers() {
|
||||
|
||||
#[test]
|
||||
fn pending_send_request_gets_reset_by_peer_properly() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let payload = [0; (frame::DEFAULT_INITIAL_WINDOW_SIZE * 2) as usize];
|
||||
@@ -842,7 +838,7 @@ fn pending_send_request_gets_reset_by_peer_properly() {
|
||||
|
||||
#[test]
|
||||
fn request_without_path() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -870,7 +866,7 @@ fn request_without_path() {
|
||||
|
||||
#[test]
|
||||
fn request_options_with_star() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
// Note the lack of trailing slash.
|
||||
@@ -913,7 +909,7 @@ fn notify_on_send_capacity() {
|
||||
// stream, the client is notified.
|
||||
use std::sync::mpsc;
|
||||
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let (io, srv) = mock::new();
|
||||
let (done_tx, done_rx) = futures::sync::oneshot::channel();
|
||||
@@ -999,7 +995,7 @@ fn notify_on_send_capacity() {
|
||||
|
||||
#[test]
|
||||
fn send_stream_poll_reset() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv
|
||||
@@ -1039,7 +1035,7 @@ fn send_stream_poll_reset() {
|
||||
fn drop_pending_open() {
|
||||
// This test checks that a stream queued for pending open behaves correctly when its
|
||||
// client drops.
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let (io, srv) = mock::new();
|
||||
let (init_tx, init_rx) = futures::sync::oneshot::channel();
|
||||
@@ -1130,7 +1126,7 @@ fn malformed_response_headers_dont_unlink_stream() {
|
||||
// This test checks that receiving malformed headers frame on a stream with
|
||||
// no remaining references correctly resets the stream, without prematurely
|
||||
// unlinking it.
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let (io, srv) = mock::new();
|
||||
let (drop_tx, drop_rx) = futures::sync::oneshot::channel();
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#[macro_use]
|
||||
extern crate h2_support;
|
||||
|
||||
use h2_support::prelude::*;
|
||||
|
||||
use std::error::Error;
|
||||
@@ -135,7 +132,7 @@ fn read_headers_empty_payload() {}
|
||||
|
||||
#[test]
|
||||
fn read_continuation_frames() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let large = build_large_headers();
|
||||
@@ -191,7 +188,7 @@ fn read_continuation_frames() {
|
||||
|
||||
#[test]
|
||||
fn update_max_frame_len_at_rest() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
// TODO: add test for updating max frame length in flight as well?
|
||||
let mut codec = raw_codec! {
|
||||
read => [
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
extern crate h2_support;
|
||||
|
||||
use h2_support::prelude::*;
|
||||
|
||||
#[test]
|
||||
fn write_continuation_frames() {
|
||||
// An invalid dependency ID results in a stream level error. The hpack
|
||||
// payload should still be decoded.
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let large = build_large_headers();
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
extern crate h2_support;
|
||||
|
||||
use h2_support::prelude::*;
|
||||
|
||||
// In this case, the stream & connection both have capacity, but capacity is not
|
||||
// explicitly requested.
|
||||
#[test]
|
||||
fn send_data_without_requesting_capacity() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let payload = [0; 1024];
|
||||
|
||||
@@ -52,7 +50,7 @@ fn send_data_without_requesting_capacity() {
|
||||
|
||||
#[test]
|
||||
fn release_capacity_sends_window_update() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let payload = vec![0u8; 16_384];
|
||||
|
||||
@@ -126,7 +124,7 @@ fn release_capacity_sends_window_update() {
|
||||
|
||||
#[test]
|
||||
fn release_capacity_of_small_amount_does_not_send_window_update() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let payload = [0; 16];
|
||||
|
||||
@@ -190,7 +188,7 @@ fn expand_window_calls_are_coalesced() {}
|
||||
|
||||
#[test]
|
||||
fn recv_data_overflows_connection_window() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
@@ -257,7 +255,7 @@ fn recv_data_overflows_connection_window() {
|
||||
#[test]
|
||||
fn recv_data_overflows_stream_window() {
|
||||
// this tests for when streams have smaller windows than their connection
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
@@ -324,7 +322,7 @@ fn recv_window_update_causes_overflow() {
|
||||
|
||||
#[test]
|
||||
fn stream_error_release_connection_capacity() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -395,7 +393,7 @@ fn stream_error_release_connection_capacity() {
|
||||
|
||||
#[test]
|
||||
fn stream_close_by_data_frame_releases_capacity() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let window_size = frame::DEFAULT_INITIAL_WINDOW_SIZE as usize;
|
||||
@@ -466,7 +464,7 @@ fn stream_close_by_data_frame_releases_capacity() {
|
||||
|
||||
#[test]
|
||||
fn stream_close_by_trailers_frame_releases_capacity() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let window_size = frame::DEFAULT_INITIAL_WINDOW_SIZE as usize;
|
||||
@@ -543,7 +541,7 @@ fn stream_close_by_trailers_frame_releases_capacity() {
|
||||
|
||||
#[test]
|
||||
fn stream_close_by_send_reset_frame_releases_capacity() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -595,7 +593,7 @@ fn stream_close_by_recv_reset_frame_releases_capacity() {}
|
||||
|
||||
#[test]
|
||||
fn recv_window_update_on_stream_closed_by_data_frame() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let h2 = client::handshake(io)
|
||||
@@ -644,7 +642,7 @@ fn recv_window_update_on_stream_closed_by_data_frame() {
|
||||
|
||||
#[test]
|
||||
fn reserved_capacity_assigned_in_multi_window_updates() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let h2 = client::handshake(io)
|
||||
@@ -725,11 +723,11 @@ fn reserved_capacity_assigned_in_multi_window_updates() {
|
||||
|
||||
#[test]
|
||||
fn connection_notified_on_released_capacity() {
|
||||
use futures::sync::oneshot;
|
||||
use crate::futures::sync::oneshot;
|
||||
use std::sync::mpsc;
|
||||
use std::thread;
|
||||
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
// We're going to run the connection on a thread in order to isolate task
|
||||
@@ -832,7 +830,7 @@ fn connection_notified_on_released_capacity() {
|
||||
|
||||
#[test]
|
||||
fn recv_settings_removes_available_capacity() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let mut settings = frame::Settings::default();
|
||||
@@ -890,7 +888,7 @@ fn recv_settings_removes_available_capacity() {
|
||||
|
||||
#[test]
|
||||
fn recv_settings_keeps_assigned_capacity() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let (sent_settings, sent_settings_rx) = futures::sync::oneshot::channel();
|
||||
@@ -947,7 +945,7 @@ fn recv_settings_keeps_assigned_capacity() {
|
||||
|
||||
#[test]
|
||||
fn recv_no_init_window_then_receive_some_init_window() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let mut settings = frame::Settings::default();
|
||||
@@ -1012,7 +1010,7 @@ fn settings_lowered_capacity_returns_capacity_to_connection() {
|
||||
use std::sync::mpsc;
|
||||
use std::thread;
|
||||
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
let (tx1, rx1) = mpsc::channel();
|
||||
let (tx2, rx2) = mpsc::channel();
|
||||
@@ -1130,7 +1128,7 @@ fn settings_lowered_capacity_returns_capacity_to_connection() {
|
||||
|
||||
#[test]
|
||||
fn client_increase_target_window_size() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -1152,7 +1150,7 @@ fn client_increase_target_window_size() {
|
||||
|
||||
#[test]
|
||||
fn increase_target_window_size_after_using_some() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -1204,7 +1202,7 @@ fn increase_target_window_size_after_using_some() {
|
||||
|
||||
#[test]
|
||||
fn decrease_target_window_size() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -1252,7 +1250,7 @@ fn decrease_target_window_size() {
|
||||
|
||||
#[test]
|
||||
fn server_target_window_size() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let client = client.assert_server_handshake()
|
||||
@@ -1273,7 +1271,7 @@ fn server_target_window_size() {
|
||||
#[test]
|
||||
fn recv_settings_increase_window_size_after_using_some() {
|
||||
// See https://github.com/hyperium/h2/issues/208
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let new_win_size = 16_384 * 4; // 1 bigger than default
|
||||
@@ -1318,7 +1316,7 @@ fn recv_settings_increase_window_size_after_using_some() {
|
||||
#[test]
|
||||
fn reserve_capacity_after_peer_closes() {
|
||||
// See https://github.com/hyperium/h2/issues/300
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -1357,7 +1355,7 @@ fn reserve_capacity_after_peer_closes() {
|
||||
fn reset_stream_waiting_for_capacity() {
|
||||
// This tests that receiving a reset on a stream that has some available
|
||||
// connection-level window reassigns that window to another stream.
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
@@ -1419,7 +1417,7 @@ fn reset_stream_waiting_for_capacity() {
|
||||
|
||||
#[test]
|
||||
fn data_padding() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let mut body = Vec::new();
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
extern crate tokio;
|
||||
#[macro_use]
|
||||
extern crate h2_support;
|
||||
|
||||
use h2_support::prelude::*;
|
||||
use h2_support::futures::{Async, Poll};
|
||||
use futures::{Async, Poll};
|
||||
|
||||
use tokio::net::{TcpListener, TcpStream};
|
||||
use std::{net::SocketAddr, thread, sync::{atomic::{AtomicUsize, Ordering}, Arc}};
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
#[macro_use]
|
||||
extern crate h2_support;
|
||||
|
||||
use h2_support::prelude::*;
|
||||
use h2_support::assert_ping;
|
||||
|
||||
#[test]
|
||||
fn recv_single_ping() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (m, mock) = mock::new();
|
||||
|
||||
// Create the handshake
|
||||
@@ -41,7 +39,7 @@ fn recv_single_ping() {
|
||||
|
||||
#[test]
|
||||
fn recv_multiple_pings() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let client = client.assert_server_handshake()
|
||||
@@ -65,7 +63,7 @@ fn recv_multiple_pings() {
|
||||
|
||||
#[test]
|
||||
fn pong_has_highest_priority() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let data = Bytes::from(vec![0; 16_384]);
|
||||
@@ -111,7 +109,7 @@ fn pong_has_highest_priority() {
|
||||
|
||||
#[test]
|
||||
fn user_ping_pong() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -160,7 +158,7 @@ fn user_ping_pong() {
|
||||
|
||||
#[test]
|
||||
fn user_notifies_when_connection_closes() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
#[macro_use]
|
||||
extern crate h2_support;
|
||||
|
||||
use h2_support::{DEFAULT_WINDOW_SIZE};
|
||||
use h2_support::prelude::*;
|
||||
|
||||
#[test]
|
||||
fn single_stream_send_large_body() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let payload = [0; 1024];
|
||||
|
||||
@@ -69,7 +66,7 @@ fn single_stream_send_large_body() {
|
||||
|
||||
#[test]
|
||||
fn multiple_streams_with_payload_greater_than_default_window() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let payload = vec![0; 16384*5-1];
|
||||
|
||||
@@ -132,7 +129,7 @@ fn multiple_streams_with_payload_greater_than_default_window() {
|
||||
|
||||
#[test]
|
||||
fn single_stream_send_extra_large_body_multi_frames_one_buffer() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let payload = vec![0; 32_768];
|
||||
|
||||
@@ -199,7 +196,7 @@ fn single_stream_send_extra_large_body_multi_frames_one_buffer() {
|
||||
|
||||
#[test]
|
||||
fn single_stream_send_body_greater_than_default_window() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let payload = vec![0; 16384*5-1];
|
||||
|
||||
@@ -292,7 +289,7 @@ fn single_stream_send_body_greater_than_default_window() {
|
||||
|
||||
#[test]
|
||||
fn single_stream_send_extra_large_body_multi_frames_multi_buffer() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let payload = vec![0; 32_768];
|
||||
|
||||
@@ -358,7 +355,7 @@ fn single_stream_send_extra_large_body_multi_frames_multi_buffer() {
|
||||
|
||||
#[test]
|
||||
fn send_data_receive_window_update() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (m, mock) = mock::new();
|
||||
|
||||
let h2 = client::handshake(m)
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
extern crate h2_support;
|
||||
|
||||
use h2_support::prelude::*;
|
||||
|
||||
#[test]
|
||||
fn recv_push_works() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let (io, srv) = mock::new();
|
||||
let mock = srv.assert_client_handshake()
|
||||
@@ -56,7 +54,7 @@ fn recv_push_works() {
|
||||
#[test]
|
||||
fn pushed_streams_arent_dropped_too_early() {
|
||||
// tests that by default, received push promises work
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let (io, srv) = mock::new();
|
||||
let mock = srv.assert_client_handshake()
|
||||
@@ -110,7 +108,7 @@ fn pushed_streams_arent_dropped_too_early() {
|
||||
|
||||
#[test]
|
||||
fn recv_push_when_push_disabled_is_conn_error() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let (io, srv) = mock::new();
|
||||
let mock = srv.assert_client_handshake()
|
||||
@@ -163,7 +161,7 @@ fn recv_push_when_push_disabled_is_conn_error() {
|
||||
|
||||
#[test]
|
||||
fn pending_push_promises_reset_when_dropped() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let (io, srv) = mock::new();
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -206,7 +204,7 @@ fn pending_push_promises_reset_when_dropped() {
|
||||
|
||||
#[test]
|
||||
fn recv_push_promise_over_max_header_list_size() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -257,7 +255,7 @@ fn recv_push_promise_over_max_header_list_size() {
|
||||
#[test]
|
||||
fn recv_invalid_push_promise_headers_is_stream_protocol_error() {
|
||||
// Unsafe method or content length is stream protocol error
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let (io, srv) = mock::new();
|
||||
let mock = srv.assert_client_handshake()
|
||||
@@ -317,7 +315,7 @@ fn recv_push_promise_with_wrong_authority_is_stream_error() {
|
||||
|
||||
#[test]
|
||||
fn recv_push_promise_skipped_stream_id() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let (io, srv) = mock::new();
|
||||
let mock = srv.assert_client_handshake()
|
||||
@@ -367,7 +365,7 @@ fn recv_push_promise_skipped_stream_id() {
|
||||
|
||||
#[test]
|
||||
fn recv_push_promise_dup_stream_id() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let (io, srv) = mock::new();
|
||||
let mock = srv.assert_client_handshake()
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
#![deny(warnings)]
|
||||
|
||||
extern crate h2_support;
|
||||
|
||||
use h2_support::prelude::*;
|
||||
|
||||
const SETTINGS: &'static [u8] = &[0, 0, 0, 4, 0, 0, 0, 0, 0];
|
||||
@@ -9,7 +7,7 @@ const SETTINGS_ACK: &'static [u8] = &[0, 0, 0, 4, 1, 0, 0, 0, 0];
|
||||
|
||||
#[test]
|
||||
fn read_preface_in_multiple_frames() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
let mock = mock_io::Builder::new()
|
||||
.read(b"PRI * HTTP/2.0")
|
||||
@@ -27,7 +25,7 @@ fn read_preface_in_multiple_frames() {
|
||||
|
||||
#[test]
|
||||
fn server_builder_set_max_concurrent_streams() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let mut settings = frame::Settings::default();
|
||||
@@ -77,7 +75,7 @@ fn server_builder_set_max_concurrent_streams() {
|
||||
|
||||
#[test]
|
||||
fn serve_request() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let client = client
|
||||
@@ -114,7 +112,7 @@ fn accept_with_pending_connections_after_socket_close() {}
|
||||
|
||||
#[test]
|
||||
fn recv_invalid_authority() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let bad_auth = util::byte_str("not:a/good authority");
|
||||
@@ -141,7 +139,7 @@ fn recv_invalid_authority() {
|
||||
|
||||
#[test]
|
||||
fn recv_connection_header() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let req = |id, name, val| {
|
||||
@@ -176,7 +174,7 @@ fn recv_connection_header() {
|
||||
|
||||
#[test]
|
||||
fn sends_reset_cancel_when_req_body_is_dropped() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let client = client
|
||||
@@ -209,7 +207,7 @@ fn sends_reset_cancel_when_req_body_is_dropped() {
|
||||
|
||||
#[test]
|
||||
fn abrupt_shutdown() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let client = client
|
||||
@@ -255,7 +253,7 @@ fn abrupt_shutdown() {
|
||||
|
||||
#[test]
|
||||
fn graceful_shutdown() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let client = client
|
||||
@@ -341,7 +339,7 @@ fn graceful_shutdown() {
|
||||
|
||||
#[test]
|
||||
fn sends_reset_cancel_when_res_body_is_dropped() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let client = client
|
||||
@@ -399,7 +397,7 @@ fn sends_reset_cancel_when_res_body_is_dropped() {
|
||||
|
||||
#[test]
|
||||
fn too_big_headers_sends_431() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let client = client
|
||||
@@ -436,7 +434,7 @@ fn too_big_headers_sends_431() {
|
||||
|
||||
#[test]
|
||||
fn too_big_headers_sends_reset_after_431_if_not_eos() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let client = client
|
||||
@@ -472,7 +470,7 @@ fn too_big_headers_sends_reset_after_431_if_not_eos() {
|
||||
|
||||
#[test]
|
||||
fn poll_reset() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let client = client
|
||||
@@ -518,7 +516,7 @@ fn poll_reset() {
|
||||
|
||||
#[test]
|
||||
fn poll_reset_io_error() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let client = client
|
||||
@@ -560,7 +558,7 @@ fn poll_reset_io_error() {
|
||||
|
||||
#[test]
|
||||
fn poll_reset_after_send_response_is_user_error() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let client = client
|
||||
@@ -614,7 +612,7 @@ fn poll_reset_after_send_response_is_user_error() {
|
||||
fn server_error_on_unclean_shutdown() {
|
||||
use std::io::Write;
|
||||
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, mut client) = mock::new();
|
||||
|
||||
let srv = server::Builder::new()
|
||||
@@ -628,7 +626,7 @@ fn server_error_on_unclean_shutdown() {
|
||||
|
||||
#[test]
|
||||
fn request_without_authority() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
let client = client
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
#![deny(warnings)]
|
||||
|
||||
#[macro_use]
|
||||
extern crate log;
|
||||
extern crate h2_support;
|
||||
|
||||
use h2_support::prelude::*;
|
||||
|
||||
#[test]
|
||||
@@ -30,7 +26,7 @@ fn send_recv_headers_only() {
|
||||
.body(())
|
||||
.unwrap();
|
||||
|
||||
info!("sending request");
|
||||
log::info!("sending request");
|
||||
let (response, _) = client.send_request(request, true).unwrap();
|
||||
|
||||
let resp = h2.run(response).unwrap();
|
||||
@@ -72,7 +68,7 @@ fn send_recv_data() {
|
||||
.body(())
|
||||
.unwrap();
|
||||
|
||||
info!("sending request");
|
||||
log::info!("sending request");
|
||||
let (response, mut stream) = client.send_request(request, false).unwrap();
|
||||
|
||||
// Reserve send capacity
|
||||
@@ -129,7 +125,7 @@ fn send_headers_recv_data_single_frame() {
|
||||
.body(())
|
||||
.unwrap();
|
||||
|
||||
info!("sending request");
|
||||
log::info!("sending request");
|
||||
let (response, _) = client.send_request(request, true).unwrap();
|
||||
|
||||
let resp = h2.run(response).unwrap();
|
||||
@@ -153,7 +149,7 @@ fn send_headers_recv_data_single_frame() {
|
||||
|
||||
#[test]
|
||||
fn closed_streams_are_released() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let h2 = client::handshake(io).unwrap().and_then(|(mut client, h2)| {
|
||||
@@ -198,7 +194,7 @@ fn closed_streams_are_released() {
|
||||
|
||||
#[test]
|
||||
fn errors_if_recv_frame_exceeds_max_frame_size() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, mut srv) = mock::new();
|
||||
|
||||
let h2 = client::handshake(io).unwrap().and_then(|(mut client, h2)| {
|
||||
@@ -246,7 +242,7 @@ fn errors_if_recv_frame_exceeds_max_frame_size() {
|
||||
|
||||
#[test]
|
||||
fn configure_max_frame_size() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, mut srv) = mock::new();
|
||||
|
||||
let h2 = client::Builder::new()
|
||||
@@ -290,7 +286,7 @@ fn configure_max_frame_size() {
|
||||
|
||||
#[test]
|
||||
fn recv_goaway_finishes_processed_streams() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -347,7 +343,7 @@ fn recv_goaway_finishes_processed_streams() {
|
||||
|
||||
#[test]
|
||||
fn recv_next_stream_id_updated_by_malformed_headers() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, client) = mock::new();
|
||||
|
||||
|
||||
@@ -385,7 +381,7 @@ fn recv_next_stream_id_updated_by_malformed_headers() {
|
||||
|
||||
#[test]
|
||||
fn skipped_stream_ids_are_implicitly_closed() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv
|
||||
@@ -424,7 +420,7 @@ fn skipped_stream_ids_are_implicitly_closed() {
|
||||
|
||||
#[test]
|
||||
fn send_rst_stream_allows_recv_data() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -470,7 +466,7 @@ fn send_rst_stream_allows_recv_data() {
|
||||
|
||||
#[test]
|
||||
fn send_rst_stream_allows_recv_trailers() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -512,7 +508,7 @@ fn send_rst_stream_allows_recv_trailers() {
|
||||
|
||||
#[test]
|
||||
fn rst_stream_expires() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -561,7 +557,7 @@ fn rst_stream_expires() {
|
||||
|
||||
#[test]
|
||||
fn rst_stream_max() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -627,7 +623,7 @@ fn rst_stream_max() {
|
||||
|
||||
#[test]
|
||||
fn reserved_state_recv_window_update() {
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
@@ -715,11 +711,11 @@ fn rst_while_closing() {
|
||||
// Test to reproduce panic in issue #246 --- receipt of a RST_STREAM frame
|
||||
// on a stream in the Half Closed (remote) state with a queued EOS causes
|
||||
// a panic.
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
// Rendevous when we've queued a trailers frame
|
||||
let (tx, rx) = ::futures::sync::oneshot::channel();
|
||||
let (tx, rx) = crate::futures::sync::oneshot::channel();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
.unwrap()
|
||||
@@ -786,13 +782,13 @@ fn rst_with_buffered_data() {
|
||||
// the data is fully flushed. Given that resetting a stream requires
|
||||
// clearing all associated state for that stream, this test ensures that the
|
||||
// buffered up frame is correctly handled.
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
// This allows the settings + headers frame through
|
||||
let (io, srv) = mock::new_with_write_capacity(73);
|
||||
|
||||
// Synchronize the client / server on response
|
||||
let (tx, rx) = ::futures::sync::oneshot::channel();
|
||||
let (tx, rx) = crate::futures::sync::oneshot::channel();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
.unwrap()
|
||||
@@ -851,13 +847,13 @@ fn err_with_buffered_data() {
|
||||
// the data is fully flushed. Given that resetting a stream requires
|
||||
// clearing all associated state for that stream, this test ensures that the
|
||||
// buffered up frame is correctly handled.
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
// This allows the settings + headers frame through
|
||||
let (io, srv) = mock::new_with_write_capacity(73);
|
||||
|
||||
// Synchronize the client / server on response
|
||||
let (tx, rx) = ::futures::sync::oneshot::channel();
|
||||
let (tx, rx) = crate::futures::sync::oneshot::channel();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
.unwrap()
|
||||
@@ -915,13 +911,13 @@ fn send_err_with_buffered_data() {
|
||||
// the data is fully flushed. Given that resetting a stream requires
|
||||
// clearing all associated state for that stream, this test ensures that the
|
||||
// buffered up frame is correctly handled.
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
|
||||
// This allows the settings + headers frame through
|
||||
let (io, srv) = mock::new_with_write_capacity(73);
|
||||
|
||||
// Synchronize the client / server on response
|
||||
let (tx, rx) = ::futures::sync::oneshot::channel();
|
||||
let (tx, rx) = crate::futures::sync::oneshot::channel();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
.unwrap()
|
||||
@@ -961,7 +957,7 @@ fn send_err_with_buffered_data() {
|
||||
stream.send_data(body.into(), true).unwrap();
|
||||
|
||||
// Hack to drive the connection, trying to flush data
|
||||
::futures::future::lazy(|| {
|
||||
crate::futures::future::lazy(|| {
|
||||
conn.poll().unwrap();
|
||||
Ok::<_, ()>(())
|
||||
}).wait().unwrap();
|
||||
@@ -987,7 +983,7 @@ fn send_err_with_buffered_data() {
|
||||
#[test]
|
||||
fn srv_window_update_on_lower_stream_id() {
|
||||
// See https://github.com/hyperium/h2/issues/208
|
||||
let _ = ::env_logger::try_init();
|
||||
let _ = env_logger::try_init();
|
||||
let (io, srv) = mock::new();
|
||||
|
||||
let srv = srv.assert_client_handshake()
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
#[macro_use]
|
||||
extern crate log;
|
||||
extern crate h2_support;
|
||||
|
||||
use h2_support::prelude::*;
|
||||
|
||||
#[test]
|
||||
@@ -31,7 +27,7 @@ fn recv_trailers_only() {
|
||||
.body(())
|
||||
.unwrap();
|
||||
|
||||
info!("sending request");
|
||||
log::info!("sending request");
|
||||
let (response, _) = client.send_request(request, true).unwrap();
|
||||
|
||||
let response = h2.run(response).unwrap();
|
||||
@@ -79,7 +75,7 @@ fn send_trailers_immediately() {
|
||||
.body(())
|
||||
.unwrap();
|
||||
|
||||
info!("sending request");
|
||||
log::info!("sending request");
|
||||
let (response, mut stream) = client.send_request(request, false).unwrap();
|
||||
|
||||
let mut trailers = HeaderMap::new();
|
||||
|
||||
Reference in New Issue
Block a user