Author: Richard Plangger <[email protected]>
Branch: py3.5
Changeset: r88966:c7429885c9fc
Date: 2016-12-08 12:46 +0100
http://bitbucket.org/pypy/pypy/changeset/c7429885c9fc/
Log: remove unwrap_spec of previously modified method, new test to check
that socket bind takes a byte like object
diff --git a/pypy/module/_socket/interp_socket.py
b/pypy/module/_socket/interp_socket.py
--- a/pypy/module/_socket/interp_socket.py
+++ b/pypy/module/_socket/interp_socket.py
@@ -89,6 +89,8 @@
def addr_from_object(family, fd, space, w_address):
if family == rsocket.AF_INET:
w_host, w_port = space.unpackiterable(w_address, 2)
+ if space.isinstance_w(w_host, space.w_unicode):
+ pass
host = space.str_w(w_host)
port = space.int_w(w_port)
port = make_ushort_port(space, port)
@@ -110,9 +112,11 @@
return rsocket.INET6Address(host, port, flowinfo, scope_id)
if rsocket.HAS_AF_UNIX and family == rsocket.AF_UNIX:
# Not using space.fsencode_w since Linux allows embedded NULs.
+ import pdb; pdb.set_trace()
if space.isinstance_w(w_address, space.w_unicode):
w_address = space.fsencode(w_address)
- return rsocket.UNIXAddress(space.bytes_w(w_address))
+ bytelike = space.arg_w('y*', w_address)
+ return rsocket.UNIXAddress(bytelike)
if rsocket.HAS_AF_NETLINK and family == rsocket.AF_NETLINK:
w_pid, w_groups = space.unpackiterable(w_address, 2)
return rsocket.NETLINKAddress(space.uint_w(w_pid),
space.uint_w(w_groups))
@@ -449,7 +453,6 @@
except SocketError as e:
raise converted_error(space, e)
- @unwrap_spec(data='buffer')
def sendto_w(self, space, w_data, w_param2, w_param3=None):
"""sendto(data[, flags], address) -> count
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
@@ -884,6 +884,11 @@
os.close(fileno)
cli.close()
+ def test_bytearray_name(self):
+ import _socket as socket
+ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ s.bind(bytearray(b"\x00python\x00test\x00"))
+ assert s.getsockname() == b"\x00python\x00test\x00"
class AppTestErrno:
spaceconfig = {'usemodules': ['_socket', 'select']}
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit