def test_getnameinfo(): from pypy.module._socket.interp_socket import get_error host = "127.0.0.1" port = 25 info = socket.getnameinfo((host, port), 0) w_l = space.appexec( [w_socket, space.wrap(host), space.wrap(port)], "(_socket, host, port): return _socket.getnameinfo((host, port), 0)") assert space.unwrap(w_l) == info sockaddr = space.newtuple([space.wrap('mail.python.org'), space.wrap(0)]) space.raises_w( get_error(space, 'error'), space.appexec, [w_socket, sockaddr, space.wrap(0)], "(_socket, sockaddr, flags): return _socket.getnameinfo(sockaddr, flags)" ) if socket.has_ipv6: sockaddr = space.newtuple( [space.wrap('::1'), space.wrap(0), space.wrap(0xffffffff)]) space.raises_w( space.w_OverflowError, space.appexec, [w_socket, sockaddr, space.wrap(0)], "(_socket, sockaddr, flags): return _socket.getnameinfo(sockaddr, flags)" )
def test_getnameinfo(): from pypy.module._socket.interp_socket import get_error host = "127.0.0.1" port = 25 info = socket.getnameinfo((host, port), 0) w_l = space.appexec([w_socket, space.wrap(host), space.wrap(port)], "(_socket, host, port): return _socket.getnameinfo((host, port), 0)") assert space.unwrap(w_l) == info sockaddr = space.newtuple([space.wrap('mail.python.org'), space.wrap(0)]) space.raises_w(get_error(space, 'error'), space.appexec, [w_socket, sockaddr, space.wrap(0)], "(_socket, sockaddr, flags): return _socket.getnameinfo(sockaddr, flags)") if socket.has_ipv6: sockaddr = space.newtuple([space.wrap('::1'), space.wrap(0), space.wrap(0xffffffff)]) space.raises_w(space.w_OverflowError, space.appexec, [w_socket, sockaddr, space.wrap(0)], "(_socket, sockaddr, flags): return _socket.getnameinfo(sockaddr, flags)")
def getnameinfo(space, w_sockaddr, flags): """getnameinfo(sockaddr, flags) --> (host, port) Get host and port for a sockaddr.""" try: host = space.str_w((space.getitem(w_sockaddr, space.wrap(0)))) port = str(space.int_w(space.getitem(w_sockaddr, space.wrap(1)))) lst = rsocket.getaddrinfo(host, port, rsocket.AF_UNSPEC, rsocket.SOCK_DGRAM, 0, rsocket.AI_NUMERICHOST) if len(lst) > 1: raise OperationError( get_error(space, 'error'), space.wrap("sockaddr resolved to multiple addresses")) addr = lst[0][4] fill_from_object(addr, space, w_sockaddr) host, servport = rsocket.getnameinfo(addr, flags) except SocketError, e: raise converted_error(space, e)
def getnameinfo(space, w_sockaddr, flags): """getnameinfo(sockaddr, flags) --> (host, port) Get host and port for a sockaddr.""" try: host = space.text_w((space.getitem(w_sockaddr, space.newint(0)))) port = str(space.int_w(space.getitem(w_sockaddr, space.newint(1)))) lst = rsocket.getaddrinfo(host, port, rsocket.AF_UNSPEC, rsocket.SOCK_DGRAM, 0, rsocket.AI_NUMERICHOST) if len(lst) > 1: raise oefmt(get_error(space, 'error'), "sockaddr resolved to multiple addresses") addr = lst[0][4] fill_from_object(addr, space, w_sockaddr) host, servport = rsocket.getnameinfo(addr, flags) except SocketError as e: raise converted_error(space, e) return space.newtuple([space.newtext(host), space.newtext(servport)])
def __init__(self, space): w_socketerror = interp_socket.get_error(space, "error") self.w_error = space.new_exception_class("_ssl.SSLError", w_socketerror)
def __init__(self, space): w_socketerror = interp_socket.get_error(space, "error") self.w_error = space.new_exception_class( "_ssl.SSLError", w_socketerror)