[pypy-svn] r61958 - in pypy/trunk/pypy: module/_rawffi module/_rawffi/test rlib rlib/test
afa at codespeak.net
afa at codespeak.net
Tue Feb 17 00:29:43 CET 2009
Author: afa
Date: Tue Feb 17 00:29:42 2009
New Revision: 61958
Modified:
pypy/trunk/pypy/module/_rawffi/interp_rawffi.py
pypy/trunk/pypy/module/_rawffi/test/test__rawffi.py
pypy/trunk/pypy/rlib/libffi.py
pypy/trunk/pypy/rlib/test/test_libffi.py
Log:
Try harder not to embed the prebuilt name of the libc library,
at least on Windows.
Modified: pypy/trunk/pypy/module/_rawffi/interp_rawffi.py
==============================================================================
--- pypy/trunk/pypy/module/_rawffi/interp_rawffi.py (original)
+++ pypy/trunk/pypy/module/_rawffi/interp_rawffi.py Tue Feb 17 00:29:42 2009
@@ -496,6 +496,6 @@
def get_libc(space):
try:
- return space.wrap(W_CDLL(space, libc_name))
+ return space.wrap(W_CDLL(space, get_libc_name()))
except OSError, e:
raise wrap_oserror(space, e)
Modified: pypy/trunk/pypy/module/_rawffi/test/test__rawffi.py
==============================================================================
--- pypy/trunk/pypy/module/_rawffi/test/test__rawffi.py (original)
+++ pypy/trunk/pypy/module/_rawffi/test/test__rawffi.py Tue Feb 17 00:29:42 2009
@@ -165,11 +165,11 @@
prepare_c_example = staticmethod(prepare_c_example)
def setup_class(cls):
- from pypy.rlib.libffi import libc_name
+ from pypy.rlib.libffi import get_libc_name
space = gettestobjspace(usemodules=('_rawffi', 'struct'))
cls.space = space
cls.w_lib_name = space.wrap(cls.prepare_c_example())
- cls.w_libc_name = space.wrap(libc_name)
+ cls.w_libc_name = space.wrap(get_libc_name())
if sys.platform == 'win32':
cls.w_iswin32 = space.wrap(True)
cls.w_libm_name = space.wrap('msvcrt')
Modified: pypy/trunk/pypy/rlib/libffi.py
==============================================================================
--- pypy/trunk/pypy/rlib/libffi.py (original)
+++ pypy/trunk/pypy/rlib/libffi.py Tue Feb 17 00:29:42 2009
@@ -256,6 +256,9 @@
pass # No check
libc_name = ctypes.util.find_library('c')
+ def get_libc_name():
+ return libc_name
+ del libc_name
if _WIN32:
def dlopen(name):
@@ -314,9 +317,11 @@
get_libc_handle = external('get_libc_handle', [], rwin32.HANDLE)
- libc_name = rwin32.GetModuleFileName(get_libc_handle())
- assert "msvcr" in libc_name.lower(), \
- "Suspect msvcrt library: %s" % (libc_name,)
+ def get_libc_name():
+ return rwin32.GetModuleFileName(get_libc_handle())
+
+ assert "msvcr" in get_libc_name().lower(), \
+ "Suspect msvcrt library: %s" % (get_libc_name(),)
FFI_OK = cConfig.FFI_OK
Modified: pypy/trunk/pypy/rlib/test/test_libffi.py
==============================================================================
--- pypy/trunk/pypy/rlib/test/test_libffi.py (original)
+++ pypy/trunk/pypy/rlib/test/test_libffi.py Tue Feb 17 00:29:42 2009
@@ -25,10 +25,10 @@
def test_dlopen(self):
py.test.raises(OSError, "dlopen(rffi.str2charp('xxxxxxxxxxxx'))")
- assert dlopen(rffi.str2charp(libc_name))
+ assert dlopen(rffi.str2charp(get_libc_name()))
def get_libc(self):
- return CDLL(libc_name)
+ return CDLL(get_libc_name())
def get_libm(self):
if sys.platform == 'win32':
@@ -384,7 +384,7 @@
def test_get_libc_handle(self):
handle = get_libc_handle()
- print libc_name
+ print get_libc_name()
print hex(handle)
assert handle != 0
assert handle % 0x1000 == 0
More information about the Pypy-commit
mailing list