From 66627777b54843dc6c5630e27dd995258b05ac6d Mon Sep 17 00:00:00 2001 From: Corentin Henry Date: Mon, 22 Apr 2019 16:14:28 +0200 Subject: [PATCH] std::net: tests for Ipv4addr::is_reserved() Also add tests to IpAddr for make sure these addresses are not global or multicast. --- src/libstd/net/ip.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/libstd/net/ip.rs b/src/libstd/net/ip.rs index 4ff47257c3fc..1322733bb15b 100644 --- a/src/libstd/net/ip.rs +++ b/src/libstd/net/ip.rs @@ -2031,6 +2031,10 @@ mod tests { check!("192.0.0.0"); check!("192.0.0.255"); check!("192.0.0.100"); + // make sure reserved addresses are not global + check!("240.0.0.0"); + check!("251.54.1.76"); + check!("254.255.255.255"); check!("::", unspec); check!("::1", loopback); @@ -2076,6 +2080,7 @@ mod tests { let documentation: u16 = 1 << 7; let benchmarking: u16 = 1 << 8; let ietf_protocol_assignment: u16 = 1 << 9; + let reserved: u16 = 1 << 10; if ($mask & unspec) == unspec { assert!(ip!($s).is_unspecified()); @@ -2136,6 +2141,12 @@ mod tests { } else { assert!(!ip!($s).is_ietf_protocol_assignment()); } + + if ($mask & reserved) == reserved { + assert!(ip!($s).is_reserved()); + } else { + assert!(!ip!($s).is_reserved()); + } }} } @@ -2149,6 +2160,7 @@ mod tests { let documentation: u16 = 1 << 7; let benchmarking: u16 = 1 << 8; let ietf_protocol_assignment: u16 = 1 << 9; + let reserved: u16 = 1 << 10; check!("0.0.0.0", unspec); check!("0.0.0.1"); @@ -2172,6 +2184,9 @@ mod tests { check!("192.0.0.0", ietf_protocol_assignment); check!("192.0.0.255", ietf_protocol_assignment); check!("192.0.0.100", ietf_protocol_assignment); + check!("240.0.0.0", reserved); + check!("251.54.1.76", reserved); + check!("254.255.255.255", reserved); } #[test]