diff --git a/src/test/setup.rs b/src/test/setup.rs index aa4807afcd0520ebc12d3c9c0fa6806c0b64bf8d..f2aa4fd57492765b68349dbd68da0aaeedd6cca4 100644 --- a/src/test/setup.rs +++ b/src/test/setup.rs @@ -1,10 +1,8 @@ +use super::*; use crate::common::*; use crate::runtime::*; - use PortBinding::*; -use super::*; - #[test] fn config_ok_0() { let pdl = b"primitive main() {}"; @@ -28,84 +26,64 @@ fn config_non_port() { ProtocolD::parse(pdl).unwrap(); } +#[test] +fn bind_too_much() { + let mut x = Connector::Unconfigured(Unconfigured { controller_id: 0 }); + x.configure(b"primitive main(in a) {}", b"main").unwrap(); + x.bind_port(0, Native).unwrap(); + assert!(x.bind_port(1, Native).is_err()); +} + #[test] fn config_and_connect_2() { let timeout = Duration::from_millis(1_500); - let addrs = ["127.0.0.1:9000".parse().unwrap(), "127.0.0.1:9001".parse().unwrap()]; - use std::thread; - let handles = vec![ - // - thread::spawn(move || { - let mut x = Connector::Unconfigured(Unconfigured { controller_id: 0 }); + let addrs = [next_addr(), next_addr()]; + assert!(do_all(&[ + &|x| { x.configure(b"primitive main(in a, out b) {}", b"main").unwrap(); x.bind_port(0, Passive(addrs[0])).unwrap(); x.bind_port(1, Passive(addrs[1])).unwrap(); x.connect(timeout).unwrap(); - }), - thread::spawn(move || { - let mut x = Connector::Unconfigured(Unconfigured { controller_id: 1 }); + }, + &|x| { x.configure(b"primitive main(out a, in b) {}", b"main").unwrap(); x.bind_port(0, Active(addrs[0])).unwrap(); x.bind_port(1, Active(addrs[1])).unwrap(); x.connect(timeout).unwrap(); - }), - ]; - for h in handles { - handle(h.join()) - } -} - -#[test] -fn bind_too_much() { - let mut x = Connector::Unconfigured(Unconfigured { controller_id: 0 }); - x.configure(b"primitive main(in a) {}", b"main").unwrap(); - x.bind_port(0, Native).unwrap(); - assert!(x.bind_port(1, Native).is_err()); + }, + ])); } #[test] fn config_and_connect_chain() { let timeout = Duration::from_millis(1_500); - let addrs = [ - "127.0.0.1:9002".parse().unwrap(), - "127.0.0.1:9003".parse().unwrap(), - "127.0.0.1:9004".parse().unwrap(), - ]; - use std::thread; - let handles = vec![ - // - thread::spawn(move || { + let addrs = [next_addr(), next_addr(), next_addr()]; + assert!(do_all(&[ + &|x| { // PRODUCER A-> - let mut x = Connector::Unconfigured(Unconfigured { controller_id: 0 }); x.configure(b"primitive main(out a) {}", b"main").unwrap(); x.bind_port(0, Active(addrs[0])).unwrap(); x.connect(timeout).unwrap(); - }), - thread::spawn(move || { + }, + &|x| { // FORWARDER ->B-> - let mut x = Connector::Unconfigured(Unconfigured { controller_id: 1 }); x.configure(b"primitive main(in a, out b) {}", b"main").unwrap(); x.bind_port(0, Passive(addrs[0])).unwrap(); x.bind_port(1, Active(addrs[1])).unwrap(); x.connect(timeout).unwrap(); - }), - thread::spawn(move || { + }, + &|x| { // FORWARDER ->C-> - let mut x = Connector::Unconfigured(Unconfigured { controller_id: 2 }); x.configure(b"primitive main(in a, out b) {}", b"main").unwrap(); x.bind_port(0, Passive(addrs[1])).unwrap(); x.bind_port(1, Active(addrs[2])).unwrap(); x.connect(timeout).unwrap(); - }), - thread::spawn(move || { + }, + &|x| { // CONSUMER ->D - let mut x = Connector::Unconfigured(Unconfigured { controller_id: 3 }); x.configure(b"primitive main(in a) {}", b"main").unwrap(); x.bind_port(0, Passive(addrs[2])).unwrap(); x.connect(timeout).unwrap(); - }), - ]; - for h in handles { - handle(h.join()) - } + }, + ])); }