From 7dd8d84a1fb583b116dc59c4157f91dabe1e967e Mon Sep 17 00:00:00 2001 From: Ali MJ Al-Nasrawy Date: Sun, 29 Aug 2021 06:05:43 +0300 Subject: order interface vertically --- tests/bind.rs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'tests/bind.rs') diff --git a/tests/bind.rs b/tests/bind.rs index f36de8e..1c816f0 100644 --- a/tests/bind.rs +++ b/tests/bind.rs @@ -7,8 +7,6 @@ use regex::Regex; use rstest::rstest; use std::io::{BufRead, BufReader}; use std::process::{Command, Stdio}; -use std::thread::sleep; -use std::time::Duration; #[rstest] #[case(&["-i", "12.123.234.12"])] @@ -64,18 +62,17 @@ fn validate_printed_urls(tmpdir: TempDir, port: u16, #[case] args: &[&str]) -> R .stdout(Stdio::piped()) .spawn()?; - sleep(Duration::from_secs(1)); - - let urls_line = BufReader::new(child.stdout.take().unwrap()) + // WARN assumes urls list is terminated by an empty line + let url_lines = BufReader::new(child.stdout.take().unwrap()) .lines() .map(|line| line.expect("Error reading stdout")) - .filter(|line| line.starts_with("Serving path")) - .next() - .expect("no url printed to stdout"); + .take_while(|line| !line.is_empty()) /* non-empty lines */ + .collect::>(); + let url_lines = url_lines.join("\n"); let urls = Regex::new(r"http://[a-zA-Z0-9\.\[\]:/]+") .unwrap() - .captures_iter(urls_line.as_str()) + .captures_iter(url_lines.as_str()) .map(|caps| caps.get(0).unwrap().as_str()) .collect::>(); -- cgit v1.2.3