2022-05-08 07:52:08 +00:00
|
|
|
from pyodide_test_runner import run_in_pyodide
|
2021-08-01 14:12:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
@run_in_pyodide(packages=["cffi"])
|
2022-05-26 02:47:43 +00:00
|
|
|
def test_cffi_asprintf(selenium):
|
2021-08-01 14:12:14 +00:00
|
|
|
from cffi import FFI
|
|
|
|
|
|
|
|
ffi = FFI()
|
|
|
|
ffi.cdef(
|
|
|
|
"""int asprintf(char** buf, const char *format, ...); // copy-pasted from the man page"""
|
|
|
|
)
|
|
|
|
C = ffi.dlopen(None) # loads the entire C namespace
|
|
|
|
buf = ffi.new("char**")
|
|
|
|
arg1 = ffi.new("char[]", b"wo")
|
|
|
|
arg2 = ffi.new("char[]", b"ld")
|
|
|
|
C.asprintf(buf, b"hello %sr%s", arg1, arg2)
|
|
|
|
assert ffi.string(buf[0]).decode() == "hello world"
|