[pypy-commit] pypy stdlib-2.7.9: test/fix _socket.socket repr
bdkearns
noreply at buildbot.pypy.org
Mon Dec 15 21:07:52 CET 2014
Author: Brian Kearns <bdkearns at gmail.com>
Branch: stdlib-2.7.9
Changeset: r74949:ef0308d0f344
Date: 2014-12-15 15:06 -0500
http://bitbucket.org/pypy/pypy/changeset/ef0308d0f344/
Log: test/fix _socket.socket repr
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
@@ -142,6 +142,12 @@
def get_family_w(self, space):
return space.wrap(self.sock.family)
+ def descr_repr(self, space):
+ return space.wrap("<socket object, fd=%d, family=%d,"
+ " type=%d, protocol=%d>" %
+ (self.sock.fd, self.sock.family,
+ self.sock.type, self.sock.proto))
+
def accept_w(self, space):
"""accept() -> (socket object, address info)
@@ -661,6 +667,7 @@
[*] not available on all platforms!""",
__new__ = descr_socket_new,
__weakref__ = make_weakref_descr(W_Socket),
+ __repr__ = interp2app(W_Socket.descr_repr),
type = GetSetProperty(W_Socket.get_type_w),
proto = GetSetProperty(W_Socket.get_proto_w),
family = GetSetProperty(W_Socket.get_family_w),
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
@@ -372,6 +372,19 @@
assert s.fileno() > -1
assert isinstance(s.fileno(), int)
+ def test_socket_repr(self):
+ import _socket
+ s = _socket.socket(_socket.AF_INET, _socket.SOCK_STREAM)
+ try:
+ expected = ('<socket object, fd=%s, family=%s, type=%s, protocol=%s>'
+ % (s.fileno(), s.family, s.type, s.proto))
+ assert repr(s) == expected
+ finally:
+ s.close()
+ expected = ('<socket object, fd=-1, family=%s, type=%s, protocol=%s>'
+ % (s.family, s.type, s.proto))
+ assert repr(s) == expected
+
def test_socket_close(self):
import _socket, os
s = _socket.socket(_socket.AF_INET, _socket.SOCK_STREAM, 0)
More information about the pypy-commit
mailing list