From aecd438055e92404c0cec844f6d5797565554621 Mon Sep 17 00:00:00 2001 From: Eric Stokes Date: Tue, 31 Dec 2024 12:47:10 -0500 Subject: [PATCH] apply the same test fix as in mio-serial --- Cargo.toml | 2 +- src/lib.rs | 6 +++--- tests/test_serialstream.rs | 12 +++++++----- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index dd206ea..86b2123 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tokio-serial" -version = "5.4.4" +version = "5.4.5" authors = ["Zac Berkowitz "] description = "A serial port implementation for tokio" license = "MIT" diff --git a/src/lib.rs b/src/lib.rs index 2f92bdf..cd0e272 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -103,12 +103,12 @@ impl SerialStream { /// /// ## Examples /// - /// ```rust - /// use tokio_serial::Serial; + /// ```no_run + /// use tokio_serial::SerialStream; /// /// #[tokio::main] /// async fn main() { - /// let (master, slave) = Serial::pair().unwrap(); + /// let (master, slave) = SerialStream::pair().unwrap(); /// } /// ``` #[cfg(unix)] diff --git a/tests/test_serialstream.rs b/tests/test_serialstream.rs index 2ba45a8..3b2a50f 100644 --- a/tests/test_serialstream.rs +++ b/tests/test_serialstream.rs @@ -29,7 +29,7 @@ impl Drop for Fixture { log::trace!("stopping socat process (id: {})...", id); self.process.start_kill().ok(); - std::thread::sleep(Duration::from_millis(250)); + std::thread::sleep(Duration::from_millis(1000)); log::trace!("removing link: {}", self.port_a); std::fs::remove_file(self.port_a).ok(); log::trace!("removing link: {}", self.port_b); @@ -41,20 +41,22 @@ impl Drop for Fixture { impl Fixture { #[cfg(unix)] pub async fn new(port_a: &'static str, port_b: &'static str) -> Self { + use std::sync::atomic::{AtomicUsize, Ordering}; + static N: AtomicUsize = AtomicUsize::new(0); + let n = N.fetch_add(1, Ordering::Relaxed); + let port_a = format!("{}{}", port_a, n).leak(); + let port_b = format!("{}{}", port_b, n).leak(); let args = [ format!("PTY,link={}", port_a), format!("PTY,link={}", port_b), ]; log::trace!("starting process: socat {} {}", args[0], args[1]); - let process = process::Command::new("socat") .args(&args) .spawn() .expect("unable to spawn socat process"); log::trace!(".... done! (pid: {:?})", process.id().unwrap()); - - time::sleep(Duration::from_millis(500)).await; - + time::sleep(Duration::from_millis(1000)).await; Self { process, port_a,