(self)
| 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) |
nothing calls this directly
no test coverage detected