Author: Amaury Forgeot d'Arc <[email protected]>
Branch: py3k
Changeset: r50237:df2edb52b29e
Date: 2011-12-05 22:48 +0100
http://bitbucket.org/pypy/pypy/changeset/df2edb52b29e/

Log:    socket.getaddrinfo() accept strings for the 'port' parameter

diff --git a/pypy/module/_socket/interp_func.py 
b/pypy/module/_socket/interp_func.py
--- a/pypy/module/_socket/interp_func.py
+++ b/pypy/module/_socket/interp_func.py
@@ -270,7 +270,9 @@
         port = None
     elif space.is_true(space.isinstance(w_port, space.w_int)):
         port = str(space.int_w(w_port))
-    elif space.is_true(space.isinstance(w_port, space.w_str)):
+    elif space.is_true(space.isinstance(w_port, space.w_bytes)):
+        port = space.bytes_w(w_port)
+    elif space.is_true(space.isinstance(w_port, space.w_unicode)):
         port = space.str_w(w_port)
     else:
         raise OperationError(space.w_TypeError,
diff --git a/pypy/module/_socket/test/test_sock_app.py 
b/pypy/module/_socket/test/test_sock_app.py
--- a/pypy/module/_socket/test/test_sock_app.py
+++ b/pypy/module/_socket/test/test_sock_app.py
@@ -223,10 +223,12 @@
     w_l = space.appexec([w_socket, space.wrapbytes(host), space.wrap(port)],
                         "(_socket, host, port): return 
_socket.getaddrinfo(host, port)")
     assert space.unwrap(w_l) == info
-    py.test.skip("Unicode conversion is too slow")
     w_l = space.appexec([w_socket, space.wrap(host), space.wrap(port)],
                         "(_socket, host, port): return 
_socket.getaddrinfo(host, port)")
     assert space.unwrap(w_l) == info
+    w_l = space.appexec([w_socket, space.wrapbytes(host), space.wrap('smtp')],
+                        "(_socket, host, port): return 
_socket.getaddrinfo(host, port)")
+    assert space.unwrap(w_l) == socket.getaddrinfo(host, 'smtp')
 
 def test_unknown_addr_as_object():    
     c_addr = lltype.malloc(rsocket._c.sockaddr, flavor='raw')
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to