]> granicus.if.org Git - python/commitdiff
#14814: Fix errror message creation in ipaddress.collapse_addresses
authorHynek Schlawack <hs@ox.cx>
Fri, 1 Jun 2012 18:12:17 +0000 (20:12 +0200)
committerHynek Schlawack <hs@ox.cx>
Fri, 1 Jun 2012 18:12:17 +0000 (20:12 +0200)
Lib/ipaddress.py
Lib/test/test_ipaddress.py

index 7df9f20f3e010cfcc7e6772637590f274328efed..6763517cc16d10993feb8c91721c54972f1d2e70 100644 (file)
@@ -359,7 +359,7 @@ def collapse_addresses(addresses):
         else:
             if nets and nets[-1]._version != ip._version:
                 raise TypeError("%s and %s are not of the same version" % (
-                        str(ip), str(ips[-1])))
+                        str(ip), str(nets[-1])))
             nets.append(ip)
 
     # sort and dedup
index fd6c38c2bea50af84757f95c2e520e4ef865bec6..aff4ff9a7c765f6d6f47e8edab8e9cfe0ec69dba 100644 (file)
@@ -596,10 +596,17 @@ class IpaddrUnitTest(unittest.TestCase):
         self.assertEqual(list(collapsed), [ip3])
 
         # the toejam test
-        ip1 = ipaddress.ip_address('1.1.1.1')
-        ip2 = ipaddress.ip_address('::1')
-        self.assertRaises(TypeError, ipaddress.collapse_addresses,
-                          [ip1, ip2])
+        addr_tuples = [
+                (ipaddress.ip_address('1.1.1.1'),
+                 ipaddress.ip_address('::1')),
+                (ipaddress.IPv4Network('1.1.0.0/24'),
+                 ipaddress.IPv6Network('2001::/120')),
+                (ipaddress.IPv4Network('1.1.0.0/32'),
+                 ipaddress.IPv6Network('2001::/128')),
+        ]
+        for ip1, ip2 in addr_tuples:
+            self.assertRaises(TypeError, ipaddress.collapse_addresses,
+                              [ip1, ip2])
 
     def testSummarizing(self):
         #ip = ipaddress.ip_address