Browse Source

fix: wait custom server for port

pull/54/head
sigoden 3 years ago
parent
commit
b894971b18
  1. 4
      tests/args.rs
  2. 4
      tests/bind.rs
  3. 2
      tests/fixtures.rs

4
tests/args.rs

@ -3,7 +3,7 @@ mod utils; @@ -3,7 +3,7 @@ mod utils;
use assert_cmd::prelude::*;
use assert_fs::fixture::TempDir;
use fixtures::{port, server, tmpdir, Error, TestServer};
use fixtures::{port, server, tmpdir, wait_for_port, Error, TestServer};
use rstest::rstest;
use std::process::{Command, Stdio};
@ -43,6 +43,8 @@ fn serve_single_file(tmpdir: TempDir, port: u16, #[case] file: &str) -> Result<( @@ -43,6 +43,8 @@ fn serve_single_file(tmpdir: TempDir, port: u16, #[case] file: &str) -> Result<(
.stdout(Stdio::piped())
.spawn()?;
wait_for_port(port);
let resp = reqwest::blocking::get(format!("http://localhost:{}/index.html", port))?;
assert_eq!(resp.text()?, "This is index.html");

4
tests/bind.rs

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
mod fixtures;
use fixtures::{port, server, tmpdir, Error, TestServer};
use fixtures::{port, server, tmpdir, wait_for_port, Error, TestServer};
use assert_cmd::prelude::*;
use assert_fs::fixture::TempDir;
@ -59,6 +59,8 @@ fn validate_printed_urls(tmpdir: TempDir, port: u16, #[case] args: &[&str]) -> R @@ -59,6 +59,8 @@ fn validate_printed_urls(tmpdir: TempDir, port: u16, #[case] args: &[&str]) -> R
.stdout(Stdio::piped())
.spawn()?;
wait_for_port(port);
// WARN assumes urls list is terminated by an empty line
let url_lines = BufReader::new(child.stdout.take().unwrap())
.lines()

2
tests/fixtures.rs

@ -142,7 +142,7 @@ where @@ -142,7 +142,7 @@ where
}
/// Wait a max of 1s for the port to become available.
fn wait_for_port(port: u16) {
pub fn wait_for_port(port: u16) {
let start_wait = Instant::now();
while !port_check::is_port_reachable(format!("localhost:{}", port)) {

Loading…
Cancel
Save