rlib/test/test_clibffi.py::TestCLibffi::()::test_cdll_life_time
self = <rpython.rlib.test.test_clibffi.TestCLibffi object at 0x0000023bba1054e8>
def test_cdll_life_time(self):
from rpython.translator.tool.cbuild import ExternalCompilationInfo
from rpython.translator.platform import platform
from rpython.tool.udir import udir
c_file = udir.ensure("test_libffi", dir=1).join("xlib.c")
c_file.write(py.code.Source('''
#include "src/precommondefs.h"
RPY_EXPORTED
Signed fun(Signed i) {
return i + 42;
}
'''))
eci = ExternalCompilationInfo(include_dirs=[cdir])
lib_name = str(platform.compile([c_file], eci, 'x3', standalone=False))
> lib = CDLL(lib_name)
rlib\test\test_clibffi.py:394:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
rlib\clibffi.py:702: in __init__
self.lib = dlopen(libname, mode)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
name = 'd:\\systemtemp\\pytest\\usession-main-805\\test_libffi\\x3.dll'
mode = -1
def dlopen(name, mode=-1):
# mode is unused on windows, but a consistant signature
if not name:
raise DLOpenError("cannot use None")
with rffi.scoped_utf82wcharp(name, codepoints_in_utf8(name)) as buf:
res = rwin32.LoadLibraryW(buf)
if not res:
err = rwin32.GetLastError_saved()
ustr, lgt = rwin32.FormatErrorW(err)
> raise DLOpenError(ustr)
E DLOpenError: 'Teseiidmdl ol o efud\xf2\xa0\x80\x8d\x00\xee\x94\x8c\xe1\xb8\xbbd\\yysufpp\\xenl\\i\\'
rlib\rdynload.py:242: DLOpenError
builder: rpython-win-x86-64 build #399
test: rlib/test/test_clibffi/py/TestCLibffi/()/test_cdll_life_time