From 986ee0ba1cf16f2b6a1905825a30a9fcedd1ad2f Mon Sep 17 00:00:00 2001 From: Abhishek Chanda Date: Sun, 5 Jan 2020 11:36:49 +0000 Subject: [PATCH 1/2] Check against specific errors in parsing test --- src/ipv4.rs | 4 ++-- src/ipv6.rs | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ipv4.rs b/src/ipv4.rs index eb81a5d..1bbb2fe 100644 --- a/src/ipv4.rs +++ b/src/ipv4.rs @@ -484,8 +484,8 @@ mod test { } #[test] - fn parse_netmask_broken() { - "192.168.1.0/255.0.255.0".parse::().unwrap_err(); + fn parse_netmask_broken_v4() { + assert_eq!("192.168.1.0/255.0.255.0".parse::(), Err(IpNetworkError::InvalidPrefix)); } #[test] diff --git a/src/ipv6.rs b/src/ipv6.rs index f0fe78f..ff68946 100644 --- a/src/ipv6.rs +++ b/src/ipv6.rs @@ -309,6 +309,11 @@ mod test { assert_eq!(cidr.prefix(), 24); } + #[test] + fn parse_netmask_broken_v6() { + assert_eq!("FF01:0:0:17:0:0:0:2/255.255.255.0".parse::(), Err(IpNetworkError::InvalidPrefix)); + } + #[test] fn create_v6_invalid_prefix() { let cidr = Ipv6Network::new(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1), 129); From 18677e3b69c5d1217d314de69c2e09093d1de277 Mon Sep 17 00:00:00 2001 From: Abhishek Chanda Date: Sun, 5 Jan 2020 11:38:28 +0000 Subject: [PATCH 2/2] Run cargo fmt --- src/ipv4.rs | 17 +++++++++++++---- src/ipv6.rs | 9 +++++++-- src/lib.rs | 4 ++-- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/ipv4.rs b/src/ipv4.rs index 1bbb2fe..d9b1db2 100644 --- a/src/ipv4.rs +++ b/src/ipv4.rs @@ -64,7 +64,10 @@ impl Ipv4Network { pub fn iter(&self) -> Ipv4NetworkIterator { let start = u32::from(self.network()); let end = start + (self.size() - 1); - Ipv4NetworkIterator { next: Some(start), end } + Ipv4NetworkIterator { + next: Some(start), + end, + } } pub fn ip(&self) -> Ipv4Addr { @@ -244,7 +247,7 @@ impl FromStr for Ipv4Network { } else { parse_prefix(v, IPV4_BITS)? } - }, + } None => IPV4_BITS, }; Ipv4Network::new(addr, prefix) @@ -485,7 +488,10 @@ mod test { #[test] fn parse_netmask_broken_v4() { - assert_eq!("192.168.1.0/255.0.255.0".parse::(), Err(IpNetworkError::InvalidPrefix)); + assert_eq!( + "192.168.1.0/255.0.255.0".parse::(), + Err(IpNetworkError::InvalidPrefix) + ); } #[test] @@ -647,6 +653,9 @@ mod test { let high_addrs: Vec = high.iter().collect(); assert_eq!(256, high_addrs.len()); assert_eq!("255.255.255.0".parse::().unwrap(), high_addrs[0]); - assert_eq!("255.255.255.255".parse::().unwrap(), high_addrs[255]); + assert_eq!( + "255.255.255.255".parse::().unwrap(), + high_addrs[255] + ); } } diff --git a/src/ipv6.rs b/src/ipv6.rs index ff68946..129edab 100644 --- a/src/ipv6.rs +++ b/src/ipv6.rs @@ -311,7 +311,10 @@ mod test { #[test] fn parse_netmask_broken_v6() { - assert_eq!("FF01:0:0:17:0:0:0:2/255.255.255.0".parse::(), Err(IpNetworkError::InvalidPrefix)); + assert_eq!( + "FF01:0:0:17:0:0:0:2/255.255.255.0".parse::(), + Err(IpNetworkError::InvalidPrefix) + ); } #[test] @@ -602,7 +605,9 @@ mod test { let low_addrs: Vec = low.iter().collect(); assert_eq!(256, low_addrs.len()); - let high: Ipv6Network = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00/120".parse().unwrap(); + let high: Ipv6Network = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00/120" + .parse() + .unwrap(); let high_addrs: Vec = high.iter().collect(); assert_eq!(256, high_addrs.len()); } diff --git a/src/lib.rs b/src/lib.rs index a1126ce..61fe347 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -13,10 +13,10 @@ mod ipv4; mod ipv6; pub use crate::common::IpNetworkError; -pub use crate::ipv4::{ipv4_mask_to_prefix, Ipv4Network}; -pub use crate::ipv6::{ipv6_mask_to_prefix, Ipv6Network}; use crate::ipv4::Ipv4NetworkIterator; +pub use crate::ipv4::{ipv4_mask_to_prefix, Ipv4Network}; use crate::ipv6::Ipv6NetworkIterator; +pub use crate::ipv6::{ipv6_mask_to_prefix, Ipv6Network}; /// Represents a generic network range. This type can have two variants: /// the v4 and the v6 case.