Commit 4e548fe0 authored by R David Murray's avatar R David Murray

#20815: small readability improvements in ipaddress tests.

Patch by Michel Albert.  We don't normally do patches that just tweak
whitespace, but ipaddress is relatively new and the package maintainers
approved the patch.
parent 535eda33
...@@ -10,6 +10,7 @@ import contextlib ...@@ -10,6 +10,7 @@ import contextlib
import operator import operator
import ipaddress import ipaddress
class BaseTestCase(unittest.TestCase): class BaseTestCase(unittest.TestCase):
# One big change in ipaddress over the original ipaddr module is # One big change in ipaddress over the original ipaddr module is
# error reporting that tries to assume users *don't know the rules* # error reporting that tries to assume users *don't know the rules*
...@@ -52,17 +53,18 @@ class BaseTestCase(unittest.TestCase): ...@@ -52,17 +53,18 @@ class BaseTestCase(unittest.TestCase):
def assertAddressError(self, details, *args): def assertAddressError(self, details, *args):
"""Ensure a clean AddressValueError""" """Ensure a clean AddressValueError"""
return self.assertCleanError(ipaddress.AddressValueError, return self.assertCleanError(ipaddress.AddressValueError,
details, *args) details, *args)
def assertNetmaskError(self, details, *args): def assertNetmaskError(self, details, *args):
"""Ensure a clean NetmaskValueError""" """Ensure a clean NetmaskValueError"""
return self.assertCleanError(ipaddress.NetmaskValueError, return self.assertCleanError(ipaddress.NetmaskValueError,
details, *args) details, *args)
def assertInstancesEqual(self, lhs, rhs): def assertInstancesEqual(self, lhs, rhs):
"""Check constructor arguments produce equivalent instances""" """Check constructor arguments produce equivalent instances"""
self.assertEqual(self.factory(lhs), self.factory(rhs)) self.assertEqual(self.factory(lhs), self.factory(rhs))
class CommonTestMixin: class CommonTestMixin:
def test_empty_address(self): def test_empty_address(self):
...@@ -115,6 +117,7 @@ class CommonTestMixin_v4(CommonTestMixin): ...@@ -115,6 +117,7 @@ class CommonTestMixin_v4(CommonTestMixin):
assertBadLength(3) assertBadLength(3)
assertBadLength(5) assertBadLength(5)
class CommonTestMixin_v6(CommonTestMixin): class CommonTestMixin_v6(CommonTestMixin):
def test_leading_zeros(self): def test_leading_zeros(self):
...@@ -195,7 +198,7 @@ class AddressTestCase_v4(BaseTestCase, CommonTestMixin_v4): ...@@ -195,7 +198,7 @@ class AddressTestCase_v4(BaseTestCase, CommonTestMixin_v4):
def test_empty_octet(self): def test_empty_octet(self):
def assertBadOctet(addr): def assertBadOctet(addr):
with self.assertAddressError("Empty octet not permitted in %r", with self.assertAddressError("Empty octet not permitted in %r",
addr): addr):
ipaddress.IPv4Address(addr) ipaddress.IPv4Address(addr)
assertBadOctet("42..42.42") assertBadOctet("42..42.42")
...@@ -443,6 +446,7 @@ class NetmaskTestMixin_v4(CommonTestMixin_v4): ...@@ -443,6 +446,7 @@ class NetmaskTestMixin_v4(CommonTestMixin_v4):
class InterfaceTestCase_v4(BaseTestCase, NetmaskTestMixin_v4): class InterfaceTestCase_v4(BaseTestCase, NetmaskTestMixin_v4):
factory = ipaddress.IPv4Interface factory = ipaddress.IPv4Interface
class NetworkTestCase_v4(BaseTestCase, NetmaskTestMixin_v4): class NetworkTestCase_v4(BaseTestCase, NetmaskTestMixin_v4):
factory = ipaddress.IPv4Network factory = ipaddress.IPv4Network
...@@ -496,9 +500,11 @@ class NetmaskTestMixin_v6(CommonTestMixin_v6): ...@@ -496,9 +500,11 @@ class NetmaskTestMixin_v6(CommonTestMixin_v6):
assertBadNetmask("::1", "pudding") assertBadNetmask("::1", "pudding")
assertBadNetmask("::", "::") assertBadNetmask("::", "::")
class InterfaceTestCase_v6(BaseTestCase, NetmaskTestMixin_v6): class InterfaceTestCase_v6(BaseTestCase, NetmaskTestMixin_v6):
factory = ipaddress.IPv6Interface factory = ipaddress.IPv6Interface
class NetworkTestCase_v6(BaseTestCase, NetmaskTestMixin_v6): class NetworkTestCase_v6(BaseTestCase, NetmaskTestMixin_v6):
factory = ipaddress.IPv6Network factory = ipaddress.IPv6Network
...@@ -608,7 +614,6 @@ class ComparisonTests(unittest.TestCase): ...@@ -608,7 +614,6 @@ class ComparisonTests(unittest.TestCase):
self.assertRaises(TypeError, v6net.__gt__, v4net) self.assertRaises(TypeError, v6net.__gt__, v4net)
class IpaddrUnitTest(unittest.TestCase): class IpaddrUnitTest(unittest.TestCase):
def setUp(self): def setUp(self):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment