MCPcopy Index your code
hub / github.com/python/cpython / testGetaddrinfo

Method testGetaddrinfo

Lib/test/test_socket.py:1682–1762  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1680 self.assertRaises(TypeError, s.ioctl, socket.SIO_LOOPBACK_FAST_PATH, None)
1681
1682 def testGetaddrinfo(self):
1683 try:
1684 socket.getaddrinfo('localhost', 80)
1685 except socket.gaierror as err:
1686 if err.errno == socket.EAI_SERVICE:
1687 # see http://bugs.python.org/issue1282647
1688 self.skipTest("buggy libc version")
1689 raise
1690 # len of every sequence is supposed to be == 5
1691 for info in socket.getaddrinfo(HOST, None):
1692 self.assertEqual(len(info), 5)
1693 # host can be a domain name, a string representation of an
1694 # IPv4/v6 address or None
1695 socket.getaddrinfo('localhost', 80)
1696 socket.getaddrinfo('127.0.0.1', 80)
1697 socket.getaddrinfo(None, 80)
1698 if socket_helper.IPV6_ENABLED:
1699 socket.getaddrinfo('::1', 80)
1700 # port can be a string service name such as "http", a numeric
1701 # port number or None
1702 # Issue #26936: this fails on Android before API level 23.
1703 if not (support.is_android and platform.android_ver().api_level < 23):
1704 socket.getaddrinfo(HOST, "http")
1705 socket.getaddrinfo(HOST, 80)
1706 socket.getaddrinfo(HOST, None)
1707 # test family and socktype filters
1708 infos = socket.getaddrinfo(HOST, 80, socket.AF_INET, socket.SOCK_STREAM)
1709 for family, type, _, _, _ in infos:
1710 self.assertEqual(family, socket.AF_INET)
1711 self.assertEqual(repr(family), '<AddressFamily.AF_INET: %r>' % family.value)
1712 self.assertEqual(str(family), str(family.value))
1713 self.assertEqual(type, socket.SOCK_STREAM)
1714 self.assertEqual(repr(type), '<SocketKind.SOCK_STREAM: %r>' % type.value)
1715 self.assertEqual(str(type), str(type.value))
1716 infos = socket.getaddrinfo(HOST, None, 0, socket.SOCK_STREAM)
1717 for _, socktype, _, _, _ in infos:
1718 self.assertEqual(socktype, socket.SOCK_STREAM)
1719 # test proto and flags arguments
1720 socket.getaddrinfo(HOST, None, 0, 0, socket.SOL_TCP)
1721 socket.getaddrinfo(HOST, None, 0, 0, 0, socket.AI_PASSIVE)
1722 # a server willing to support both IPv4 and IPv6 will
1723 # usually do this
1724 socket.getaddrinfo(None, 0, socket.AF_UNSPEC, socket.SOCK_STREAM, 0,
1725 socket.AI_PASSIVE)
1726 # test keyword arguments
1727 a = socket.getaddrinfo(HOST, None)
1728 b = socket.getaddrinfo(host=HOST, port=None)
1729 self.assertEqual(a, b)
1730 a = socket.getaddrinfo(HOST, None, socket.AF_INET)
1731 b = socket.getaddrinfo(HOST, None, family=socket.AF_INET)
1732 self.assertEqual(a, b)
1733 a = socket.getaddrinfo(HOST, None, 0, socket.SOCK_STREAM)
1734 b = socket.getaddrinfo(HOST, None, type=socket.SOCK_STREAM)
1735 self.assertEqual(a, b)
1736 a = socket.getaddrinfo(HOST, None, 0, 0, socket.SOL_TCP)
1737 b = socket.getaddrinfo(HOST, None, proto=socket.SOL_TCP)
1738 self.assertEqual(a, b)
1739 a = socket.getaddrinfo(HOST, None, 0, 0, 0, socket.AI_PASSIVE)

Callers

nothing calls this directly

Calls 5

strFunction · 0.85
skipTestMethod · 0.80
getaddrinfoMethod · 0.45
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected