Skip to content

Commit 6662777

Browse files
committed
std::net: tests for Ipv4addr::is_reserved()
Also add tests to IpAddr for make sure these addresses are not global or multicast.
1 parent a2bead8 commit 6662777

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/libstd/net/ip.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2031,6 +2031,10 @@ mod tests {
20312031
check!("192.0.0.0");
20322032
check!("192.0.0.255");
20332033
check!("192.0.0.100");
2034+
// make sure reserved addresses are not global
2035+
check!("240.0.0.0");
2036+
check!("251.54.1.76");
2037+
check!("254.255.255.255");
20342038

20352039
check!("::", unspec);
20362040
check!("::1", loopback);
@@ -2076,6 +2080,7 @@ mod tests {
20762080
let documentation: u16 = 1 << 7;
20772081
let benchmarking: u16 = 1 << 8;
20782082
let ietf_protocol_assignment: u16 = 1 << 9;
2083+
let reserved: u16 = 1 << 10;
20792084

20802085
if ($mask & unspec) == unspec {
20812086
assert!(ip!($s).is_unspecified());
@@ -2136,6 +2141,12 @@ mod tests {
21362141
} else {
21372142
assert!(!ip!($s).is_ietf_protocol_assignment());
21382143
}
2144+
2145+
if ($mask & reserved) == reserved {
2146+
assert!(ip!($s).is_reserved());
2147+
} else {
2148+
assert!(!ip!($s).is_reserved());
2149+
}
21392150
}}
21402151
}
21412152

@@ -2149,6 +2160,7 @@ mod tests {
21492160
let documentation: u16 = 1 << 7;
21502161
let benchmarking: u16 = 1 << 8;
21512162
let ietf_protocol_assignment: u16 = 1 << 9;
2163+
let reserved: u16 = 1 << 10;
21522164

21532165
check!("0.0.0.0", unspec);
21542166
check!("0.0.0.1");
@@ -2172,6 +2184,9 @@ mod tests {
21722184
check!("192.0.0.0", ietf_protocol_assignment);
21732185
check!("192.0.0.255", ietf_protocol_assignment);
21742186
check!("192.0.0.100", ietf_protocol_assignment);
2187+
check!("240.0.0.0", reserved);
2188+
check!("251.54.1.76", reserved);
2189+
check!("254.255.255.255", reserved);
21752190
}
21762191

21772192
#[test]

0 commit comments

Comments
 (0)