From 16dde51e232c74f759f2f508946d8ae286eb606f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 5 Feb 2026 03:52:03 +0000 Subject: [PATCH] Add unit test for bind interface IP address parsing Co-authored-by: rustdesk <71636191+rustdesk@users.noreply.github.com> --- src/rendezvous_mediator.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/rendezvous_mediator.rs b/src/rendezvous_mediator.rs index ea088e655..cd042ad24 100644 --- a/src/rendezvous_mediator.rs +++ b/src/rendezvous_mediator.rs @@ -935,3 +935,28 @@ async fn udp_nat_listen( })?; Ok(()) } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_bind_interface_parsing() { + use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; + + // Test valid IPv4 addresses + assert!("192.168.1.100".parse::().is_ok()); + assert!("10.0.0.1".parse::().is_ok()); + assert!("127.0.0.1".parse::().is_ok()); + + // Test valid IPv6 addresses + assert!("::1".parse::().is_ok()); + assert!("fe80::1".parse::().is_ok()); + assert!("2001:db8::1".parse::().is_ok()); + + // Test invalid addresses + assert!("invalid".parse::().is_err()); + assert!("999.999.999.999".parse::().is_err()); + assert!("".parse::().is_err()); + } +}