diff --git a/.travis.yml b/.travis.yml index a5c256b3..54f3339b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,6 +24,11 @@ before_install: - sudo apt-get update -qq - sudo apt-get install -y openssl libssl-dev libelf-dev libdw-dev cmake gcc binutils-dev libiberty-dev +before_cache: | + if [[ "$TRAVIS_RUST_VERSION" == "nightly-2019-03-02" ]]; then + RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install cargo-tarpaulin + fi + # Add clippy before_script: - export PATH=$PATH:~/.cargo/bin @@ -41,10 +46,27 @@ script: cd actix-utils && cargo test && cd .. cd router && cargo test && cd .. fi + +after_success: - | if [[ "$TRAVIS_RUST_VERSION" == "nightly-2019-03-02" ]]; then - RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install --git https://github.com/xd009642/tarpaulin.git --branch develop - cargo tarpaulin --all --all-features --out Xml + #cd actix-service && cargo tarpaulin --out Xml && bash <(curl -s https://codecov.io/bash) && cd .. + #cd actix-rt && cargo tarpaulin --out Xml && bash <(curl -s https://codecov.io/bash) && cd .. + #cd actix-connect && cargo tarpaulin --out Xml && bash <(curl -s https://codecov.io/bash) && cd .. + #cd actix-codec && cargo tarpaulin --out Xml && bash <(curl -s https://codecov.io/bash) && cd .. + #cd actix-server && cargo tarpaulin --out Xml && bash <(curl -s https://codecov.io/bash) && cd .. + #cd actix-utils && cargo tarpaulin --out Xml && bash <(curl -s https://codecov.io/bash) && cd .. + #cd router && cargo tarpaulin --out Xml && bash <(curl -s https://codecov.io/bash) && cd .. + + cd actix-service && cargo tarpaulin --out Xml && cd .. + #cd actix-rt && cargo tarpaulin --out Xml && cd .. + cd actix-connect && cargo tarpaulin --out Xml && cd .. + #cd actix-codec && cargo tarpaulin --out Xml && cd .. + #cd actix-server && cargo tarpaulin --out Xml && cd .. + cd actix-utils && cargo tarpaulin --out Xml && cd .. + cd router && cargo tarpaulin --out Xml && cd .. + + # cargo tarpaulin --all --all-features --out Xml echo "Uploaded code coverage" bash <(curl -s https://codecov.io/bash) fi diff --git a/actix-connect/src/uri.rs b/actix-connect/src/uri.rs index 4f992121..98da805e 100644 --- a/actix-connect/src/uri.rs +++ b/actix-connect/src/uri.rs @@ -25,6 +25,7 @@ fn port(scheme: Option<&str>) -> Option { "ws" => Some(80), "wss" => Some(443), "amqp" => Some(5672), + "amqps" => Some(5671), "mqtt" => Some(1883), "mqtts" => Some(8883), _ => None, diff --git a/actix-server/tests/test_server.rs b/actix-server/tests/test_server.rs index deeba086..6afb8ca6 100644 --- a/actix-server/tests/test_server.rs +++ b/actix-server/tests/test_server.rs @@ -22,9 +22,11 @@ fn unused_addr() -> net::SocketAddr { #[test] fn test_bind() { let addr = unused_addr(); + let (tx, rx) = mpsc::channel(); - thread::spawn(move || { - Server::build() + let h = thread::spawn(move || { + let sys = actix_rt::System::new("test"); + let srv = Server::build() .bind("test", addr, move || { fn_cfg_factory(move |cfg: &ServerConfig| { assert_eq!(cfg.local_addr(), addr); @@ -32,11 +34,16 @@ fn test_bind() { }) }) .unwrap() - .run() + .start(); + let _ = tx.send((srv, actix_rt::System::current())); + let _ = sys.run(); }); + let (_, sys) = rx.recv().unwrap(); thread::sleep(time::Duration::from_millis(500)); assert!(net::TcpStream::connect(addr).is_ok()); + let _ = sys.stop(); + let _ = h.join(); } #[test] @@ -44,7 +51,7 @@ fn test_bind_no_config() { let addr = unused_addr(); let (tx, rx) = mpsc::channel(); - thread::spawn(move || { + let h = thread::spawn(move || { let sys = actix_rt::System::new("test"); let srv = Server::build() .bind("test", addr, move || fn_service(|_| Ok::<_, ()>(()))) @@ -56,15 +63,18 @@ fn test_bind_no_config() { let (_, sys) = rx.recv().unwrap(); assert!(net::TcpStream::connect(addr).is_ok()); let _ = sys.stop(); + let _ = h.join(); } #[test] fn test_listen() { let addr = unused_addr(); + let (tx, rx) = mpsc::channel(); - thread::spawn(move || { + let h = thread::spawn(move || { + let sys = actix_rt::System::new("test"); let lst = net::TcpListener::bind(addr).unwrap(); - Server::build() + let srv = Server::build() .listen("test", lst, move || { fn_cfg_factory(move |cfg: &ServerConfig| { assert_eq!(cfg.local_addr(), addr); @@ -72,11 +82,16 @@ fn test_listen() { }) }) .unwrap() - .run() + .start(); + let _ = tx.send((srv, actix_rt::System::current())); + let _ = sys.run(); }); + let (_, sys) = rx.recv().unwrap(); thread::sleep(time::Duration::from_millis(500)); assert!(net::TcpStream::connect(addr).is_ok()); + let _ = sys.stop(); + let _ = h.join(); } #[test] @@ -85,9 +100,8 @@ fn test_start() { let addr = unused_addr(); let (tx, rx) = mpsc::channel(); - thread::spawn(move || { + let h = thread::spawn(move || { let sys = actix_rt::System::new("test"); - let srv = Server::build() .backlog(100) .bind("test", addr, move || { @@ -144,4 +158,5 @@ fn test_start() { thread::sleep(time::Duration::from_millis(100)); let _ = sys.stop(); + let _ = h.join(); } diff --git a/actix-utils/src/order.rs b/actix-utils/src/order.rs index e40536c7..33efa025 100644 --- a/actix-utils/src/order.rs +++ b/actix-utils/src/order.rs @@ -245,7 +245,7 @@ mod tests { let (tx3, rx3) = oneshot::channel(); let (tx_stop, rx_stop) = oneshot::channel(); - std::thread::spawn(move || { + let h = std::thread::spawn(move || { let rx1 = rx1; let rx2 = rx2; let rx3 = rx3; @@ -274,5 +274,6 @@ mod tests { let _ = tx1.send(1); let _ = rx_stop.wait(); + let _ = h.join(); } }