# HG changeset patch # User Martin Habovstiak # Date 1608641816 -3600 # Node ID 08b37039504b7f08fdaafdb89f32d493a759ea55 # Parent 2039b5d39d72c7b95e4b94473d6b0433866aedea Improved tests * Use `localhost` for connecting which makes sure to resolve to the same address as `bind` does. * Check for slave crashing before attempting to connect. * Improve error message. diff -r 2039b5d39d72 -r 08b37039504b tests/comm.rs --- a/tests/comm.rs Thu Dec 03 16:46:24 2020 +0100 +++ b/tests/comm.rs Tue Dec 22 13:56:56 2020 +0100 @@ -12,12 +12,16 @@ const RESPONSE: &[u8] = b"good"; fn main_master(slave: io::Result) { - let mut slave = slave.expect("failed to run systemd-socket-activate"); + let mut slave = slave.expect("failed to run a child"); // give slave some time to bind the socket just to be sure std::thread::sleep(std::time::Duration::from_secs(5)); - let mut client_socket = std::net::TcpStream::connect("127.0.0.1:4242").expect("Failed to connect to 127.0.0.1:4242"); + if let Some(exited) = slave.try_wait().expect("failed to check if the child exited") { + panic!("child exited unexpectedly: {}", exited); + } + + let mut client_socket = std::net::TcpStream::connect("localhost:4242").expect("Failed to connect to 127.0.0.1:4242"); client_socket.write_all(REQUEST).expect("failed to send data"); let mut buf = [0u8; RESPONSE.len()]; client_socket.read_exact(&mut buf).expect("failed to read response");