[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