[pypy-svn] r35069 - pypy/dist/pypy/rlib/test
ac at codespeak.net
ac at codespeak.net
Tue Nov 28 12:43:57 CET 2006
Author: ac
Date: Tue Nov 28 12:43:56 2006
New Revision: 35069
Modified:
pypy/dist/pypy/rlib/test/test_rsocket.py
Log:
Be more verbose about the workaround.
Modified: pypy/dist/pypy/rlib/test/test_rsocket.py
==============================================================================
--- pypy/dist/pypy/rlib/test/test_rsocket.py (original)
+++ pypy/dist/pypy/rlib/test/test_rsocket.py Tue Nov 28 12:43:56 2006
@@ -205,14 +205,20 @@
# Test string case
s = RSocket(AF_INET, SOCK_STREAM)
reusestr = s.getsockopt(SOL_SOCKET, SO_REUSEADDR, sizeof(c_int))
- reuseptr = cast((c_char*len(reusestr))(*[c for c in reusestr]), POINTER(c_int))
+ # XXX: This strange creation fo reuse_c_char instead of plain
+ # c_char_p(reusestr) is to work around a bug in the cast function
+ # of ctypes version 1.0.0
+ reuse_c_chars = (c_char*len(reusestr))(*[c for c in reusestr])
+ reuseptr = cast(reuse_c_chars, POINTER(c_int))
assert reuseptr[0] == 0
optval = c_int(1)
optvalp = cast(pointer(optval), POINTER(c_char))
optstr = optvalp[:sizeof(c_int)]
s.setsockopt(SOL_SOCKET, SO_REUSEADDR, optstr)
reusestr = s.getsockopt(SOL_SOCKET, SO_REUSEADDR, sizeof(c_int))
- reuseptr = cast((c_char*len(reusestr))(*[c for c in reusestr]), POINTER(c_int))
+ # XXX: See above.
+ reuse_c_chars = (c_char*len(reusestr))(*[c for c in reusestr])
+ reuseptr = cast(reuse_c_chars, POINTER(c_int))
assert reuseptr[0] != 0
def test_dup():
More information about the Pypy-commit
mailing list