Index: Lib/test/test_socket.py =================================================================== --- Lib/test/test_socket.py (revisione 84089) +++ Lib/test/test_socket.py (copia locale) @@ -585,9 +585,15 @@ # see http://bugs.python.org/issue1282647 self.skipTest("buggy libc version") raise - # len of every sequence is supposed to be == 5 - for info in socket.getaddrinfo(HOST, None): - self.assertEqual(len(info), 5) + for family, type, proto, cname, addr in socket.getaddrinfo(HOST, None): + if family == socket.AF_INET: + ip, port = addr + octects = map(int, ip.split('.')) + for x in octects: + self.assertTrue(0 <= x <= 255) + self.assertTrue(isinstance(port, int)) + elif family == getattr(socket, "AF_INET6", None): + self.assertEqual(len(addr), 4) # host can be a domain name, a string representation of an # IPv4/v6 address or None socket.getaddrinfo('localhost', 80) @@ -604,6 +610,10 @@ infos = socket.getaddrinfo(HOST, None, socket.AF_INET) for family, _, _, _, _ in infos: self.assertEqual(family, socket.AF_INET) + if SUPPORTS_IPV6: + infos = socket.getaddrinfo(HOST, None, socket.AF_INET6) + for family, _, _, _, _ in infos: + self.assertEqual(family, socket.AF_INET6) infos = socket.getaddrinfo(HOST, None, 0, socket.SOCK_STREAM) for _, socktype, _, _, _ in infos: self.assertEqual(socktype, socket.SOCK_STREAM)