summaryrefslogtreecommitdiff
path: root/Lib/test/test_ipaddress.py
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2012-08-05 15:05:53 -0700
committerBenjamin Peterson <benjamin@python.org>2012-08-05 15:05:53 -0700
commit21603c96e85eed7e035b8ea177432bd8fbd6a294 (patch)
tree773929ed0de3fcde8c5d01a4940390d79aa409cb /Lib/test/test_ipaddress.py
parent4eda93723ee06c21332b17c2823ba0ff9896427f (diff)
parent636130ed65b8fbbc9b340ec1ceecad24c96234f5 (diff)
downloadcpython-git-21603c96e85eed7e035b8ea177432bd8fbd6a294.tar.gz
merge heads
Diffstat (limited to 'Lib/test/test_ipaddress.py')
-rw-r--r--Lib/test/test_ipaddress.py25
1 files changed, 13 insertions, 12 deletions
diff --git a/Lib/test/test_ipaddress.py b/Lib/test/test_ipaddress.py
index 619fa4451f..09b4a5e438 100644
--- a/Lib/test/test_ipaddress.py
+++ b/Lib/test/test_ipaddress.py
@@ -7,6 +7,7 @@
import unittest
import re
import contextlib
+import operator
import ipaddress
class BaseTestCase(unittest.TestCase):
@@ -72,6 +73,14 @@ class CommonTestMixin:
with self.assertAddressError(re.escape(repr("1.0"))):
self.factory(1.0)
+ def test_not_an_index_issue15559(self):
+ # Implementing __index__ makes for a very nasty interaction with the
+ # bytes constructor. Thus, we disallow implicit use as an integer
+ self.assertRaises(TypeError, operator.index, self.factory(1))
+ self.assertRaises(TypeError, hex, self.factory(1))
+ self.assertRaises(TypeError, bytes, self.factory(1))
+
+
class CommonTestMixin_v4(CommonTestMixin):
def test_leading_zeros(self):
@@ -599,7 +608,6 @@ class IpaddrUnitTest(unittest.TestCase):
self.assertEqual(first, last)
self.assertEqual(128, ipaddress._count_righthand_zero_bits(0, 128))
self.assertEqual("IPv4Network('1.2.3.0/24')", repr(self.ipv4_network))
- self.assertEqual('0x1020318', hex(self.ipv4_network))
def testMissingAddressVersion(self):
class Broken(ipaddress._BaseAddress):
@@ -639,8 +647,8 @@ class IpaddrUnitTest(unittest.TestCase):
ipv4 = ipaddress.ip_network('1.2.3.4')
ipv6 = ipaddress.ip_network('2001:658:22a:cafe:200:0:0:1')
- self.assertEqual(ipv4, ipaddress.ip_network(int(ipv4)))
- self.assertEqual(ipv6, ipaddress.ip_network(int(ipv6)))
+ self.assertEqual(ipv4, ipaddress.ip_network(int(ipv4.network_address)))
+ self.assertEqual(ipv6, ipaddress.ip_network(int(ipv6.network_address)))
v6_int = 42540616829182469433547762482097946625
self.assertEqual(self.ipv6_interface._ip,
@@ -723,8 +731,8 @@ class IpaddrUnitTest(unittest.TestCase):
'2001:658:22a:cafe:ffff:ffff:ffff:ffff')
def testGetPrefixlen(self):
- self.assertEqual(self.ipv4_interface.prefixlen, 24)
- self.assertEqual(self.ipv6_interface.prefixlen, 64)
+ self.assertEqual(self.ipv4_interface.network.prefixlen, 24)
+ self.assertEqual(self.ipv6_interface.network.prefixlen, 64)
def testGetSupernet(self):
self.assertEqual(self.ipv4_network.supernet().prefixlen, 23)
@@ -1545,13 +1553,6 @@ class IpaddrUnitTest(unittest.TestCase):
self.assertEqual(42540616829182469433547762482097946625,
int(self.ipv6_address))
- def testHexRepresentation(self):
- self.assertEqual(hex(0x1020304),
- hex(self.ipv4_address))
-
- self.assertEqual(hex(0x20010658022ACAFE0200000000000001),
- hex(self.ipv6_address))
-
def testForceVersion(self):
self.assertEqual(ipaddress.ip_network(1).version, 4)
self.assertEqual(ipaddress.IPv6Network(1).version, 6)