Move tests and support utilities to sub crates. (#268)

These crates will not be published to crates.io, but moving them allows
`tower-h2` to also depend on the test utilities.
This commit is contained in:
Carl Lerche
2018-05-03 13:08:39 -07:00
committed by GitHub
parent 51f6a12454
commit 8a9dfd14dc
29 changed files with 135 additions and 33 deletions

View File

@@ -0,0 +1,70 @@
#[macro_export]
macro_rules! assert_closed {
($transport:expr) => {{
assert_eq!($transport.poll().unwrap(), None.into());
}}
}
#[macro_export]
macro_rules! assert_headers {
($frame:expr) => {{
match $frame {
::h2::frame::Frame::Headers(v) => v,
f => panic!("expected HEADERS; actual={:?}", f),
}
}}
}
#[macro_export]
macro_rules! assert_data {
($frame:expr) => {{
match $frame {
::h2::frame::Frame::Data(v) => v,
f => panic!("expected DATA; actual={:?}", f),
}
}}
}
#[macro_export]
macro_rules! assert_ping {
($frame:expr) => {{
match $frame {
::h2::frame::Frame::Ping(v) => v,
f => panic!("expected PING; actual={:?}", f),
}
}}
}
#[macro_export]
macro_rules! assert_settings {
($frame:expr) => {{
match $frame {
::h2::frame::Frame::Settings(v) => v,
f => panic!("expected SETTINGS; actual={:?}", f),
}
}}
}
#[macro_export]
macro_rules! poll_err {
($transport:expr) => {{
match $transport.poll() {
Err(e) => e,
frame => panic!("expected error; actual={:?}", frame),
}
}}
}
#[macro_export]
macro_rules! poll_data {
($transport:expr) => {{
use h2::frame::Frame;
use futures::Async;
match $transport.poll() {
Ok(Async::Ready(Some(Frame::Data(frame)))) => frame,
frame => panic!("expected data frame; actual={:?}", frame),
}
}}
}