| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 096db42 commit fe2741b
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1152,16 +1152,12 @@ def _network_by_offset(self, prefix, offset): | |||
| 1152 | 1152 | ((new_netmask._ip & self.network_address._ip) >> bit_shift) | |
| 1153 | 1153 | + offset | |
| 1154 | 1154 | ) << bit_shift | |
| 1155 | + if not 0 <= new_ip <= self._ALL_ONES: | ||
| 1156 | + raise ValueError(error) | ||
| 1155 | 1157 | ||
| 1156 | - if new_ip < 0: | ||
| 1157 | - raise ValueError(error) | ||
| 1158 | - | ||
| 1159 | - try: | ||
| 1160 | - return self.__class__( | ||
| 1161 | - f"{self._string_from_ip_int(new_ip)}/{prefix}" | ||
| 1162 | - ) | ||
| 1163 | - except OverflowError: | ||
| 1164 | - raise ValueError(error) from None | ||
| 1158 | + return self.__class__( | ||
| 1159 | + f"{self._string_from_ip_int(new_ip)}/{prefix}" | ||
| 1160 | + ) | ||
| 1165 | 1161 | ||
| 1166 | 1162 | def next_network(self, next_prefix=None): | |
| 1167 | 1163 | """Get the next closest network with a specific prefix. | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1595,16 +1595,17 @@ def testNextNetworkWithBadPrefix(self): | |||
| 1595 | 1595 | self.assertRaises(ValueError, self.ipv6_network.next_network, 150) | |
| 1596 | 1596 | ||
| 1597 | 1597 | def testNextNetworkOutOfAddressSpace(self): | |
| 1598 | + error = r"out of address space, cannot make another /{} network" | ||
| 1598 | 1599 | ipv4 = ipaddress.IPv4Network('255.255.255.0/24') | |
| 1599 | - self.assertRaisesRegex( | ||
| 1600 | - ValueError, | ||
| 1601 | - 'out of address space, cannot make another /24 network', | ||
| 1602 | - ipv4.next_network) | ||
| 1600 | + with self.assertRaisesRegex(ValueError, error.format(24)): | ||
| 1601 | + ipv4.next_network() | ||
| 1602 | + with self.assertRaisesRegex(ValueError, error.format(25)): | ||
| 1603 | + ipv4.next_network(25) | ||
| 1603 | 1604 | ipv6 = ipaddress.IPv6Network('ffff:ffff:ffff:ffff:ffff:ffff:ffff:0/112') | |
| 1604 | - self.assertRaisesRegex( | ||
| 1605 | - ValueError, | ||
| 1606 | - 'out of address space, cannot make another /112 network', | ||
| 1607 | - ipv6.next_network) | ||
| 1605 | + with self.assertRaisesRegex(ValueError, error.format(112)): | ||
| 1606 | + ipv6.next_network() | ||
| 1607 | + with self.assertRaisesRegex(ValueError, error.format(120)): | ||
| 1608 | + ipv6.next_network(120) | ||
| 1608 | 1609 | ||
| 1609 | 1610 | def testPrevNetwork(self): | |
| 1610 | 1611 | ipv4 = ipaddress.IPv4Network('1.2.3.0/24') | |
@@ -1646,12 +1647,17 @@ def testPrevNetworkWithBadPrefix(self): | |||
| 1646 | 1647 | self.assertRaises(ValueError, self.ipv6_network.prev_network, 150) | |
| 1647 | 1648 | ||
| 1648 | 1649 | def testPrevNetworkOutOfAddressSpace(self): | |
| 1650 | + error = r"out of address space, cannot make another /{} network" | ||
| 1649 | 1651 | ipv4 = ipaddress.IPv4Network('0.0.0.0/24') | |
| 1650 | - self.assertRaises(ValueError, ipv4.prev_network) | ||
| 1651 | - self.assertRaises(ValueError, ipv4.prev_network, 25) | ||
| 1652 | + with self.assertRaisesRegex(ValueError, error.format(24)): | ||
| 1653 | + ipv4.prev_network() | ||
| 1654 | + with self.assertRaisesRegex(ValueError, error.format(25)): | ||
| 1655 | + ipv4.prev_network(25) | ||
| 1652 | 1656 | ipv6 = ipaddress.IPv6Network('::/112') | |
| 1653 | - self.assertRaises(ValueError, ipv6.prev_network) | ||
| 1654 | - self.assertRaises(ValueError, ipv6.prev_network, 112) | ||
| 1657 | + with self.assertRaisesRegex(ValueError, error.format(112)): | ||
| 1658 | + ipv6.prev_network() | ||
| 1659 | + with self.assertRaisesRegex(ValueError, error.format(120)): | ||
| 1660 | + ipv6.prev_network(120) | ||
| 1655 | 1661 | ||
| 1656 | 1662 | def testFancySubnetting(self): | |
| 1657 | 1663 | self.assertEqual(sorted(self.ipv4_network.subnets(prefixlen_diff=3)), | |
| Back | FazBrowse Home | New Git URL |
0 commit comments