MCPcopy Index your code
hub / github.com/RustPython/RustPython / testGetaddrinfo

Method testGetaddrinfo

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

Source from the content-addressed store, hash-verified

1629 self.assertRaises(TypeError, s.ioctl, socket.SIO_LOOPBACK_FAST_PATH, None)
1630
1631 def testGetaddrinfo(self):
1632 try:
1633 socket.getaddrinfo('localhost', 80)
1634 except socket.gaierror as err:
1635 if err.errno == socket.EAI_SERVICE:
1636 # see http://bugs.python.org/issue1282647
1637 self.skipTest("buggy libc version")
1638 raise
1639 # len of every sequence is supposed to be == 5
1640 for info in socket.getaddrinfo(HOST, None):
1641 self.assertEqual(len(info), 5)
1642 # host can be a domain name, a string representation of an
1643 # IPv4/v6 address or None
1644 socket.getaddrinfo('localhost', 80)
1645 socket.getaddrinfo('127.0.0.1', 80)
1646 socket.getaddrinfo(None, 80)
1647 if socket_helper.IPV6_ENABLED:
1648 socket.getaddrinfo('::1', 80)
1649 # port can be a string service name such as "http", a numeric
1650 # port number or None
1651 # Issue #26936: this fails on Android before API level 23.
1652 if not (support.is_android and platform.android_ver().api_level < 23):
1653 socket.getaddrinfo(HOST, "http")
1654 socket.getaddrinfo(HOST, 80)
1655 socket.getaddrinfo(HOST, None)
1656 # test family and socktype filters
1657 infos = socket.getaddrinfo(HOST, 80, socket.AF_INET, socket.SOCK_STREAM)
1658 for family, type, _, _, _ in infos:
1659 self.assertEqual(family, socket.AF_INET)
1660 self.assertEqual(repr(family), '<AddressFamily.AF_INET: %r>' % family.value)
1661 self.assertEqual(str(family), str(family.value))
1662 self.assertEqual(type, socket.SOCK_STREAM)
1663 self.assertEqual(repr(type), '<SocketKind.SOCK_STREAM: %r>' % type.value)
1664 self.assertEqual(str(type), str(type.value))
1665 infos = socket.getaddrinfo(HOST, None, 0, socket.SOCK_STREAM)
1666 for _, socktype, _, _, _ in infos:
1667 self.assertEqual(socktype, socket.SOCK_STREAM)
1668 # test proto and flags arguments
1669 socket.getaddrinfo(HOST, None, 0, 0, socket.SOL_TCP)
1670 socket.getaddrinfo(HOST, None, 0, 0, 0, socket.AI_PASSIVE)
1671 # a server willing to support both IPv4 and IPv6 will
1672 # usually do this
1673 socket.getaddrinfo(None, 0, socket.AF_UNSPEC, socket.SOCK_STREAM, 0,
1674 socket.AI_PASSIVE)
1675 # test keyword arguments
1676 a = socket.getaddrinfo(HOST, None)
1677 b = socket.getaddrinfo(host=HOST, port=None)
1678 self.assertEqual(a, b)
1679 a = socket.getaddrinfo(HOST, None, socket.AF_INET)
1680 b = socket.getaddrinfo(HOST, None, family=socket.AF_INET)
1681 self.assertEqual(a, b)
1682 a = socket.getaddrinfo(HOST, None, 0, socket.SOCK_STREAM)
1683 b = socket.getaddrinfo(HOST, None, type=socket.SOCK_STREAM)
1684 self.assertEqual(a, b)
1685 a = socket.getaddrinfo(HOST, None, 0, 0, socket.SOL_TCP)
1686 b = socket.getaddrinfo(HOST, None, proto=socket.SOL_TCP)
1687 self.assertEqual(a, b)
1688 a = socket.getaddrinfo(HOST, None, 0, 0, 0, socket.AI_PASSIVE)

Callers

nothing calls this directly

Calls 8

lenFunction · 0.85
reprFunction · 0.85
strFunction · 0.85
hasattrFunction · 0.85
skipTestMethod · 0.80
getaddrinfoMethod · 0.45
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected