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