Misc small fixes (#23)

This commit is contained in:
Carl Lerche 2017-10-26 14:04:59 -07:00 committed by GitHub
parent 6c3d8443b5
commit cd20feb484
4 changed files with 10 additions and 37 deletions

View File

@ -38,6 +38,3 @@ log = "0.3"
env_logger = "0.4"
tokio-timer = "0.1"
futures-cpupool = "0.1"
[replace]
"futures:0.1.16" = { git = "https://github.com/carllerche/futures-rs", branch = "test-harness" }

View File

@ -6,4 +6,7 @@ authors = ["Carl Lerche <me@carllerche.com>"]
[dependencies]
futures = "0.1"
tower = { version = "0.1", path = "../" }
futures-borrow = { git = "https://github.com/carllerche/futures-borrow" }
futures-borrow = { git = "https://github.com/carllerche/better-future" }
[dev-dependencies]
futures-test = { git = "https://github.com/carllerche/better-future" }

View File

@ -1,4 +1,5 @@
extern crate futures;
extern crate futures_test;
extern crate tower;
extern crate tower_route;
@ -7,14 +8,14 @@ use tower_route::*;
use futures::*;
use futures::future::FutureResult;
use futures::executor::TestHarness;
use futures_test::Harness;
use std::collections::HashMap;
macro_rules! assert_ready {
($service:expr) => {{
let s = $service;
let mut t = TestHarness::new(future::poll_fn(|| s.poll_ready()));
let mut t = Harness::poll_fn(|| s.poll_ready());
assert!(t.poll().unwrap().is_ready());
}};
}
@ -22,7 +23,7 @@ macro_rules! assert_ready {
macro_rules! assert_not_ready {
($service:expr) => {{
let s = $service;
let mut t = TestHarness::new(future::poll_fn(|| s.poll_ready()));
let mut t = Harness::poll_fn(|| s.poll_ready());
assert!(!t.poll().unwrap().is_ready());
}};
}
@ -80,7 +81,7 @@ fn inner_service_not_ready() {
let mut service = Route::new(recognize);
let resp = service.call("two".into());
let mut resp = TestHarness::new(resp);
let mut resp = Harness::new(resp);
assert!(!resp.poll().unwrap().is_ready());
assert_not_ready!(&mut service);

View File

@ -1,8 +1,6 @@
use futures::{IntoFuture, Poll};
use futures::IntoFuture;
use tower::{Service, NewService};
use std::marker::PhantomData;
/// A `NewService` implemented by a closure.
pub struct NewServiceFn<T> {
f: T,
@ -36,29 +34,3 @@ where T: Fn() -> R,
(self.f)().into_future()
}
}
#[cfg(test)]
mod test {
use super::*;
use futures::{future, Future};
use std::rc::Rc;
#[test]
fn smoke() {
fn f<T>(service: &mut T)
where T: Service<Request = u32,
Response = Rc<u32>,
Error = ()> + Sync
{
let resp = service.call(123);
assert_eq!(*resp.wait().unwrap(), 456);
}
let mut service = ServiceFn::new(|request| {
assert_eq!(request, 123);
future::ok(Rc::new(456))
});
f(&mut service);
}
}