aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main.rs6
-rw-r--r--tests/bind.rs15
2 files changed, 9 insertions, 12 deletions
diff --git a/src/main.rs b/src/main.rs
index bb080e6..a537bf9 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -189,7 +189,7 @@ async fn run(miniserve_config: MiniserveConfig) -> Result<(), ContextualError> {
.map(|url| Color::Green.paint(url).bold().to_string())
.collect::<Vec<_>>();
- urls.join(", ")
+ urls.join("\n\t")
};
let socket_addresses = miniserve_config
@@ -237,13 +237,13 @@ async fn run(miniserve_config: MiniserveConfig) -> Result<(), ContextualError> {
let srv = srv.shutdown_timeout(0).run();
println!(
- "Serving path {path} at {addresses}",
+ "Serving path {path} at:\n\t{addresses}\n",
path = Color::Yellow.paint(path_string).bold(),
addresses = addresses,
);
if atty::is(atty::Stream::Stdout) {
- println!("\nQuit by pressing CTRL-C");
+ println!("Quit by pressing CTRL-C");
}
srv.await
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::<Vec<_>>();
+ 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::<Vec<_>>();