Author: Stefano Rivera <stef...@rivera.za.net> Branch: split-verify Changeset: r1360:e898f9567c25 Date: 2013-10-06 19:04 +0200 http://bitbucket.org/cffi/cffi/changeset/e898f9567c25/
Log: Add verifier_distutils_module, so that we can transition all the other zintegration tests to FFIBuilder diff --git a/testing/snippets/verifier_distutils_module/setup.py b/testing/snippets/verifier_distutils_module/setup.py new file mode 100644 --- /dev/null +++ b/testing/snippets/verifier_distutils_module/setup.py @@ -0,0 +1,7 @@ + +from distutils.core import setup +import snip_basic_verify + +setup( + py_modules=['snip_basic_verify'], + ext_modules=[snip_basic_verify.ffi.verifier.get_extension()]) diff --git a/testing/snippets/verifier_distutils_module/snip_basic_verify.py b/testing/snippets/verifier_distutils_module/snip_basic_verify.py new file mode 100644 --- /dev/null +++ b/testing/snippets/verifier_distutils_module/snip_basic_verify.py @@ -0,0 +1,17 @@ + +from cffi import FFI +import sys + +ffi = FFI() +ffi.cdef(""" // some declarations from the man page + struct passwd { + char *pw_name; + ...; + }; + struct passwd *getpwuid(int uid); +""") +C = ffi.verify(""" // passed to the real C compiler +#include <sys/types.h> +#include <pwd.h> +""", libraries=[], # or a list of libraries to link with + force_generic_engine=hasattr(sys, '_force_generic_engine_')) diff --git a/testing/test_zintegration.py b/testing/test_zintegration.py --- a/testing/test_zintegration.py +++ b/testing/test_zintegration.py @@ -83,6 +83,13 @@ assert snip_infrastructure.func() == 42 ''') +def test_verifier_distutils_module(): + run_setup_and_program("verifier_distutils_module", ''' + import snip_basic_verify + p = snip_basic_verify.C.getpwuid(0) + assert snip_basic_verify.ffi.string(p.pw_name) == b"root" + ''') + def test_distutils_module(): run_setup_and_program("distutils_module", ''' import snip_basic_verify _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit