[pypy-commit] pypy default: Fix the exception raised by socket.getservbyport(-1)

arigo pypy.commits at gmail.com
Mon Jan 2 09:55:26 EST 2017


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r89297:6ed7e32b3c10
Date: 2017-01-02 15:54 +0100
http://bitbucket.org/pypy/pypy/changeset/6ed7e32b3c10/

Log:	Fix the exception raised by socket.getservbyport(-1)

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
@@ -98,7 +98,8 @@
         proto = space.str_w(w_proto)
 
     if port < 0 or port > 0xffff:
-        raise oefmt(space.w_ValueError, "getservbyport: port must be 0-65535.")
+        raise oefmt(space.w_OverflowError,
+                    "getservbyport: port must be 0-65535.")
 
     try:
         service = rsocket.getservbyport(port, proto)
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
@@ -83,11 +83,6 @@
                          "(_socket, port): return _socket.getservbyport(port)")
     assert space.unwrap(name) == "smtp"
 
-    from pypy.interpreter.error import OperationError
-    exc = raises(OperationError, space.appexec,
-           [w_socket], "(_socket): return _socket.getservbyport(-1)")
-    assert exc.value.match(space, space.w_ValueError)
-
 def test_getprotobyname():
     name = "tcp"
     w_n = space.appexec([w_socket, space.wrap(name)],
@@ -325,6 +320,10 @@
         assert _socket.socket.__name__ == 'socket'
         assert _socket.socket.__module__ == '_socket'
 
+    def test_getservbyport(self):
+        import _socket
+        raises(OverflowError, _socket.getservbyport, -1)
+
     def test_ntoa_exception(self):
         import _socket
         raises(_socket.error, _socket.inet_ntoa, b"ab")


More information about the pypy-commit mailing list