Revert "bpo-32221: makeipaddr(): remove interface part + speedup (GH-4724)" (#5394)

This reverts commit 47c0b1f7d4.
This commit is contained in:
Yury Selivanov 2018-01-28 16:08:32 -05:00 committed by GitHub
parent f36ba12809
commit 0ceb717689
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 28 additions and 94 deletions

View file

@ -1586,50 +1586,6 @@ class GeneralModuleTests(unittest.TestCase):
with socket.socket(socket.AF_INET6, socket.SOCK_STREAM) as s:
self.assertRaises(OverflowError, s.bind, (support.HOSTv6, 0, -10))
@unittest.skipUnless(support.IPV6_ENABLED, 'IPv6 required for this test.')
def test_getaddrinfo_ipv6_basic(self):
((*_, sockaddr),) = socket.getaddrinfo(
'ff02::1de:c0:face:8D', # Note capital letter `D`.
1234, socket.AF_INET6,
socket.SOCK_DGRAM,
socket.IPPROTO_UDP
)
self.assertEqual(sockaddr, ('ff02::1de:c0:face:8d', 1234, 0, 0))
@unittest.skipUnless(support.IPV6_ENABLED, 'IPv6 required for this test.')
@unittest.skipUnless(
hasattr(socket, 'if_nameindex'),
'IPv6 scope id by interface name is not supported'
)
def test_getaddrinfo_ipv6_scopeid(self):
test_interface = 'lo'
ifindex = socket.if_nametoindex(test_interface)
((*_, sockaddr),) = socket.getaddrinfo(
'ff02::1de:c0:face:8D%' + test_interface,
1234, socket.AF_INET6,
socket.SOCK_DGRAM,
socket.IPPROTO_UDP
)
# Note missing interface name part in IPv6 address
self.assertEqual(sockaddr, ('ff02::1de:c0:face:8d', 1234, 0, ifindex))
@unittest.skipUnless(support.IPV6_ENABLED, 'IPv6 required for this test.')
def test_getaddrinfo_ipv6_scopeid_numeric(self):
((*_, sockaddr),) = socket.getaddrinfo(
'ff02::1de:c0:face:8D%42',
1234, socket.AF_INET6,
socket.SOCK_DGRAM,
socket.IPPROTO_UDP
)
# Note missing interface name part in IPv6 address
self.assertEqual(sockaddr, ('ff02::1de:c0:face:8d', 1234, 0, 42))
@unittest.skipUnless(support.IPV6_ENABLED, 'IPv6 required for this test.')
def test_getnameinfo_ipv6_scopeid(self):
sockaddr = ('ff02::1de:c0:face:8D', 1234, 0, 100500) # Note capital letter `D`.
nameinfo = socket.getnameinfo(sockaddr, socket.NI_NUMERICHOST | socket.NI_NUMERICSERV)
self.assertEqual(nameinfo, ('ff02::1de:c0:face:8d%100500', '1234'))
def test_str_for_enums(self):
# Make sure that the AF_* and SOCK_* constants have enum-like string
# reprs.