Merge pull request #456 from hyperium/beta-feature

test(beta): enable testing on beta rustc
This commit is contained in:
Sean McArthur
2015-04-15 12:19:32 -07:00
6 changed files with 17 additions and 3 deletions

View File

@@ -8,7 +8,7 @@ cache:
script: script:
- cargo build - cargo build
- cargo test - cargo test
- cargo bench - cargo bench --features nightly
after_success: | after_success: |
[ $TRAVIS_BRANCH = master ] && [ $TRAVIS_BRANCH = master ] &&

View File

@@ -28,3 +28,5 @@ typeable = "*"
[dev-dependencies] [dev-dependencies]
env_logger = "*" env_logger = "*"
[features]
nightly = []

View File

@@ -48,6 +48,7 @@ pub use self::vary::Vary;
macro_rules! bench_header( macro_rules! bench_header(
($name:ident, $ty:ty, $value:expr) => { ($name:ident, $ty:ty, $value:expr) => {
#[cfg(test)] #[cfg(test)]
#[cfg(feature = "nightly")]
mod $name { mod $name {
use test::Bencher; use test::Bencher;
use super::*; use super::*;

View File

@@ -390,6 +390,7 @@ mod tests {
Accept, Host, qitem}; Accept, Host, qitem};
use httparse; use httparse;
#[cfg(feature = "nightly")]
use test::Bencher; use test::Bencher;
// Slice.position_elem is unstable // Slice.position_elem is unstable
@@ -575,6 +576,7 @@ mod tests {
} }
} }
#[cfg(feature = "nightly")]
#[bench] #[bench]
fn bench_headers_new(b: &mut Bencher) { fn bench_headers_new(b: &mut Bencher) {
b.iter(|| { b.iter(|| {
@@ -584,12 +586,14 @@ mod tests {
}) })
} }
#[cfg(feature = "nightly")]
#[bench] #[bench]
fn bench_headers_from_raw(b: &mut Bencher) { fn bench_headers_from_raw(b: &mut Bencher) {
let raw = raw!(b"Content-Length: 10"); let raw = raw!(b"Content-Length: 10");
b.iter(|| Headers::from_raw(&raw).unwrap()) b.iter(|| Headers::from_raw(&raw).unwrap())
} }
#[cfg(feature = "nightly")]
#[bench] #[bench]
fn bench_headers_get(b: &mut Bencher) { fn bench_headers_get(b: &mut Bencher) {
let mut headers = Headers::new(); let mut headers = Headers::new();
@@ -597,18 +601,21 @@ mod tests {
b.iter(|| assert_eq!(headers.get::<ContentLength>(), Some(&ContentLength(11)))) b.iter(|| assert_eq!(headers.get::<ContentLength>(), Some(&ContentLength(11))))
} }
#[cfg(feature = "nightly")]
#[bench] #[bench]
fn bench_headers_get_miss(b: &mut Bencher) { fn bench_headers_get_miss(b: &mut Bencher) {
let headers = Headers::new(); let headers = Headers::new();
b.iter(|| assert!(headers.get::<ContentLength>().is_none())) b.iter(|| assert!(headers.get::<ContentLength>().is_none()))
} }
#[cfg(feature = "nightly")]
#[bench] #[bench]
fn bench_headers_set(b: &mut Bencher) { fn bench_headers_set(b: &mut Bencher) {
let mut headers = Headers::new(); let mut headers = Headers::new();
b.iter(|| headers.set(ContentLength(12))) b.iter(|| headers.set(ContentLength(12)))
} }
#[cfg(feature = "nightly")]
#[bench] #[bench]
fn bench_headers_has(b: &mut Bencher) { fn bench_headers_has(b: &mut Bencher) {
let mut headers = Headers::new(); let mut headers = Headers::new();
@@ -616,6 +623,7 @@ mod tests {
b.iter(|| assert!(headers.has::<ContentLength>())) b.iter(|| assert!(headers.has::<ContentLength>()))
} }
#[cfg(feature = "nightly")]
#[bench] #[bench]
fn bench_headers_view_is(b: &mut Bencher) { fn bench_headers_view_is(b: &mut Bencher) {
let mut headers = Headers::new(); let mut headers = Headers::new();
@@ -625,6 +633,7 @@ mod tests {
b.iter(|| assert!(view.is::<ContentLength>())) b.iter(|| assert!(view.is::<ContentLength>()))
} }
#[cfg(feature = "nightly")]
#[bench] #[bench]
fn bench_headers_fmt(b: &mut Bencher) { fn bench_headers_fmt(b: &mut Bencher) {
let mut headers = Headers::new(); let mut headers = Headers::new();

View File

@@ -518,8 +518,10 @@ mod tests {
parse_request(&mut buf).unwrap(); parse_request(&mut buf).unwrap();
} }
#[cfg(feature = "nightly")]
use test::Bencher; use test::Bencher;
#[cfg(feature = "nightly")]
#[bench] #[bench]
fn bench_parse_incoming(b: &mut Bencher) { fn bench_parse_incoming(b: &mut Bencher) {
use buffer::BufReader; use buffer::BufReader;

View File

@@ -1,7 +1,7 @@
#![doc(html_root_url = "https://hyperium.github.io/hyper/hyper/index.html")] #![doc(html_root_url = "https://hyperium.github.io/hyper/hyper/index.html")]
#![deny(missing_docs)] #![deny(missing_docs)]
#![cfg_attr(test, deny(warnings))] #![cfg_attr(test, deny(warnings))]
#![cfg_attr(test, feature(test))] #![cfg_attr(all(test, feature = "nightly"), feature(test))]
//! # Hyper //! # Hyper
//! //!
@@ -140,7 +140,7 @@ extern crate typeable;
#[macro_use] #[macro_use]
extern crate log; extern crate log;
#[cfg(test)] #[cfg(all(test, feature = "nightly"))]
extern crate test; extern crate test;