[pypy-svn] r46778 - in pypy/dist/pypy/rlib: . test
arigo at codespeak.net
arigo at codespeak.net
Fri Sep 21 11:27:11 CEST 2007
Author: arigo
Date: Fri Sep 21 11:27:11 2007
New Revision: 46778
Modified:
pypy/dist/pypy/rlib/rsocket_rffi.py
pypy/dist/pypy/rlib/test/test_rsocket_rffi.py
Log:
Tests and fixes.
Modified: pypy/dist/pypy/rlib/rsocket_rffi.py
==============================================================================
--- pypy/dist/pypy/rlib/rsocket_rffi.py (original)
+++ pypy/dist/pypy/rlib/rsocket_rffi.py Fri Sep 21 11:27:11 2007
@@ -1113,19 +1113,19 @@
servent = _c.getservbyname(name, proto)
if not servent:
raise RSocketError("service/proto not found")
- return _c.ntohs(servent.contents.s_port)
+ return _c.ntohs(servent.c_s_port)
def getservbyport(port, proto=None):
servent = _c.getservbyport(htons(port), proto)
if not servent:
raise RSocketError("port/proto not found")
- return servent.contents.s_name
+ return rffi.charp2str(servent.c_s_name)
def getprotobyname(name):
protoent = _c.getprotobyname(name)
if not protoent:
raise RSocketError("protocol not found")
- return protoent.contents.p_proto
+ return protoent.c_p_proto
def getnameinfo(address, flags):
host = lltype.malloc(rffi.CCHARP.TO, NI_MAXHOST, flavor='raw')
Modified: pypy/dist/pypy/rlib/test/test_rsocket_rffi.py
==============================================================================
--- pypy/dist/pypy/rlib/test/test_rsocket_rffi.py (original)
+++ pypy/dist/pypy/rlib/test/test_rsocket_rffi.py Fri Sep 21 11:27:11 2007
@@ -69,6 +69,18 @@
py.test.fail("could not find the 127.0.0.1 IPv4 address in %r"
% (address_list,))
+def test_getservbyname():
+ assert getservbyname('http') == 80
+ assert getservbyname('http', 'tcp') == 80
+
+def test_getservbyport():
+ assert getservbyport(80) == 'http'
+ assert getservbyport(80, 'tcp') == 'http'
+
+def test_getprotobyname():
+ assert getprotobyname('tcp') == IPPROTO_TCP
+ assert getprotobyname('udp') == IPPROTO_UDP
+
def test_socketpair():
if sys.platform == "win32":
py.test.skip('No socketpair on Windows')
More information about the Pypy-commit
mailing list