This assert does not hold as many streams can be pushed into pending_capacity during a call to send_data(). See issue #224 for more discussion and sign-off. Closes #224
		
			
				
	
	
		
			70 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
//! Utilities to support tests.
 | 
						|
 | 
						|
#[cfg(not(feature = "unstable"))]
 | 
						|
compile_error!(
 | 
						|
    "Tests depend on the 'unstable' feature on h2. \
 | 
						|
    Retry with `cargo test --features unstable`"
 | 
						|
);
 | 
						|
 | 
						|
pub extern crate bytes;
 | 
						|
pub extern crate env_logger;
 | 
						|
pub extern crate futures;
 | 
						|
pub extern crate h2;
 | 
						|
pub extern crate http;
 | 
						|
pub extern crate string;
 | 
						|
pub extern crate tokio_io;
 | 
						|
 | 
						|
// Kind of annoying, but we can't use macros from crates that aren't specified
 | 
						|
// at the root.
 | 
						|
macro_rules! try_ready {
 | 
						|
    ($e:expr) => ({
 | 
						|
        use $crate::support::futures::Async;
 | 
						|
        match $e {
 | 
						|
            Ok(Async::Ready(t)) => t,
 | 
						|
            Ok(Async::NotReady) => return Ok(Async::NotReady),
 | 
						|
            Err(e) => return Err(From::from(e)),
 | 
						|
        }
 | 
						|
    })
 | 
						|
}
 | 
						|
 | 
						|
macro_rules! try_nb {
 | 
						|
    ($e:expr) => ({
 | 
						|
        use ::std::io::ErrorKind::WouldBlock;
 | 
						|
        use $crate::support::futures::Async;
 | 
						|
 | 
						|
        match $e {
 | 
						|
            Ok(t) => t,
 | 
						|
            Err(ref e) if e.kind() == WouldBlock => {
 | 
						|
                return Ok(Async::NotReady)
 | 
						|
            }
 | 
						|
            Err(e) => return Err(e.into()),
 | 
						|
        }
 | 
						|
    })
 | 
						|
}
 | 
						|
 | 
						|
#[macro_use]
 | 
						|
mod assert;
 | 
						|
 | 
						|
#[macro_use]
 | 
						|
pub mod raw;
 | 
						|
 | 
						|
pub mod frames;
 | 
						|
pub mod prelude;
 | 
						|
pub mod mock;
 | 
						|
pub mod mock_io;
 | 
						|
pub mod notify;
 | 
						|
pub mod util;
 | 
						|
 | 
						|
mod future_ext;
 | 
						|
 | 
						|
pub use self::future_ext::{FutureExt, Unwrap};
 | 
						|
 | 
						|
pub type WindowSize = usize;
 | 
						|
pub const DEFAULT_WINDOW_SIZE: WindowSize = (1 << 16) - 1;
 | 
						|
 | 
						|
// This is our test Codec type
 | 
						|
pub type Codec<T> = h2::Codec<T, ::std::io::Cursor<::bytes::Bytes>>;
 | 
						|
 | 
						|
// This is the frame type that is sent
 | 
						|
pub type SendFrame = h2::frame::Frame<::std::io::Cursor<::bytes::Bytes>>;
 |