[pypy-commit] pypy py3.6: hg merge default
arigo
pypy.commits at gmail.com
Thu Aug 8 03:37:28 EDT 2019
Author: Armin Rigo <arigo at tunes.org>
Branch: py3.6
Changeset: r97098:d84524cf112f
Date: 2019-08-08 09:36 +0200
http://bitbucket.org/pypy/pypy/changeset/d84524cf112f/
Log: hg merge default
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
@@ -398,7 +398,10 @@
raise converted_error(space, e)
if buflen < 0 or buflen > 1024:
raise explicit_socket_error(space, "getsockopt buflen out of range")
- return space.newbytes(self.sock.getsockopt(level, optname, buflen))
+ try:
+ return space.newbytes(self.sock.getsockopt(level, optname, buflen))
+ except SocketError as e:
+ raise converted_error(space, e)
def gettimeout_w(self, space):
"""gettimeout() -> timeout
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
@@ -949,6 +949,13 @@
cli = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
assert cli.family == socket.AF_INET
+ def test_missing_error_catching(self):
+ from _socket import socket, error
+ s = socket()
+ s.close()
+ raises(error, s.settimeout, 1) # EBADF
+ raises(error, s.setblocking, True) # EBADF
+ raises(error, s.getsockopt, 42, 84, 8) # EBADF
def test_accept_non_inheritable(self):
import _socket, os
More information about the pypy-commit
mailing list