diff -r 345391bb8ee1 Lib/test/test_ipaddress.py --- a/Lib/test/test_ipaddress.py Sat Mar 01 02:04:10 2014 -0500 +++ b/Lib/test/test_ipaddress.py Sat Mar 01 18:13:06 2014 +0100 @@ -10,6 +10,7 @@ import operator import ipaddress + class BaseTestCase(unittest.TestCase): # One big change in ipaddress over the original ipaddr module is # error reporting that tries to assume users *don't know the rules* @@ -52,17 +53,18 @@ def assertAddressError(self, details, *args): """Ensure a clean AddressValueError""" return self.assertCleanError(ipaddress.AddressValueError, - details, *args) + details, *args) def assertNetmaskError(self, details, *args): """Ensure a clean NetmaskValueError""" return self.assertCleanError(ipaddress.NetmaskValueError, - details, *args) + details, *args) def assertInstancesEqual(self, lhs, rhs): """Check constructor arguments produce equivalent instances""" self.assertEqual(self.factory(lhs), self.factory(rhs)) + class CommonTestMixin: def test_empty_address(self): @@ -115,6 +117,7 @@ assertBadLength(3) assertBadLength(5) + class CommonTestMixin_v6(CommonTestMixin): def test_leading_zeros(self): @@ -195,7 +198,7 @@ def test_empty_octet(self): def assertBadOctet(addr): with self.assertAddressError("Empty octet not permitted in %r", - addr): + addr): ipaddress.IPv4Address(addr) assertBadOctet("42..42.42") @@ -443,6 +446,7 @@ class InterfaceTestCase_v4(BaseTestCase, NetmaskTestMixin_v4): factory = ipaddress.IPv4Interface + class NetworkTestCase_v4(BaseTestCase, NetmaskTestMixin_v4): factory = ipaddress.IPv4Network @@ -496,9 +500,11 @@ assertBadNetmask("::1", "pudding") assertBadNetmask("::", "::") + class InterfaceTestCase_v6(BaseTestCase, NetmaskTestMixin_v6): factory = ipaddress.IPv6Interface + class NetworkTestCase_v6(BaseTestCase, NetmaskTestMixin_v6): factory = ipaddress.IPv6Network @@ -608,7 +614,6 @@ self.assertRaises(TypeError, v6net.__gt__, v4net) - class IpaddrUnitTest(unittest.TestCase): def setUp(self):