[pypy-svn] r63058 - pypy/trunk/pypy/rlib/test

arigo at codespeak.net arigo at codespeak.net
Thu Mar 19 10:14:10 CET 2009


Author: arigo
Date: Thu Mar 19 10:14:09 2009
New Revision: 63058

Modified:
   pypy/trunk/pypy/rlib/test/test_rsocket.py
Log:
Fix test_rsocket to also pass on wyvern, where it seems that
even though we send packets to 127.0.0.1 they go via the real
network interface.


Modified: pypy/trunk/pypy/rlib/test/test_rsocket.py
==============================================================================
--- pypy/trunk/pypy/rlib/test/test_rsocket.py	(original)
+++ pypy/trunk/pypy/rlib/test/test_rsocket.py	Thu Mar 19 10:14:09 2009
@@ -179,9 +179,6 @@
     s2.close()
 
 def test_simple_udp():
-    if cpy_socket.gethostname() == 'wyvern':
-       py.test.skip("this is currently hanging on wyvern")
-
     s1 = RSocket(AF_INET, SOCK_DGRAM)
     try_ports = [1023] + range(20000, 30000, 437)
     for port in try_ports:
@@ -198,18 +195,19 @@
     addr = INETAddress('127.0.0.1', port)
     assert addr.eq(s1.getsockname())
     s2 = RSocket(AF_INET, SOCK_DGRAM)
-    s2.connect(addr)
+    s2.bind(INETAddress('127.0.0.1', INADDR_ANY))
     addr2 = s2.getsockname()
 
     s1.sendto('?', 0, addr2)
     buf = s2.recv(100)
     assert buf == '?'
+    s2.connect(addr)
     count = s2.send('x'*99)
     assert 1 <= count <= 99
     buf, addr3 = s1.recvfrom(100)
     assert buf == 'x'*count
     print addr2, addr3
-    assert addr3.eq(addr2)
+    assert addr2.get_port() == addr3.get_port()
     s1.close()
     s2.close()
 
@@ -244,7 +242,7 @@
     s1, addr2 = sock.accept()
     s1.setblocking(False)
     assert addr.eq(s2.getpeername())
-    assert addr2.eq(s2.getsockname())
+    assert addr2.get_port() == s2.getsockname().get_port()
     assert addr2.eq(s1.getpeername())
 
     err = s2.connect_ex(addr)   # should now work



More information about the Pypy-commit mailing list