Author: Stefano Rivera <stef...@rivera.za.net> Branch: split-verify Changeset: r1366:51fa627e8b31 Date: 2013-10-07 01:04 +0200 http://bitbucket.org/cffi/cffi/changeset/51fa627e8b31/
Log: Port test_distutils_package_1 to FFIBuilder diff --git a/testing/snippets/distutils_module/setup.py b/testing/snippets/distutils_module/setup.py --- a/testing/snippets/distutils_module/setup.py +++ b/testing/snippets/distutils_module/setup.py @@ -4,6 +4,7 @@ import ffibuilder + setup( ext_modules=[FFIExtension(ffibuilder.build_ffi)], cmdclass={'build_ext': build_ext}, diff --git a/testing/snippets/distutils_package_1/setup.py b/testing/snippets/distutils_package_1/setup.py --- a/testing/snippets/distutils_package_1/setup.py +++ b/testing/snippets/distutils_package_1/setup.py @@ -1,7 +1,12 @@ +from distutils.core import setup -from distutils.core import setup -import snip_basic_verify1 +from cffi.packaging import FFIExtension, build_ext + +import snip_basic_module1.ffibuilder + setup( - packages=['snip_basic_verify1'], - ext_modules=[snip_basic_verify1.ffi.verifier.get_extension()]) + packages=['snip_basic_module1'], + ext_modules=[FFIExtension(snip_basic_module1.ffibuilder.build_ffi)], + cmdclass={'build_ext': build_ext}, +) diff --git a/testing/snippets/distutils_package_1/snip_basic_module1/__init__.py b/testing/snippets/distutils_package_1/snip_basic_module1/__init__.py new file mode 100644 diff --git a/testing/snippets/distutils_package_1/snip_basic_verify1/__init__.py b/testing/snippets/distutils_package_1/snip_basic_module1/ffibuilder.py rename from testing/snippets/distutils_package_1/snip_basic_verify1/__init__.py rename to testing/snippets/distutils_package_1/snip_basic_module1/ffibuilder.py --- a/testing/snippets/distutils_package_1/snip_basic_verify1/__init__.py +++ b/testing/snippets/distutils_package_1/snip_basic_module1/ffibuilder.py @@ -1,17 +1,21 @@ - -from cffi import FFI import sys -ffi = FFI() -ffi.cdef(""" // some declarations from the man page +from cffi import FFIBuilder + + +def build_ffi(path): + builder = FFIBuilder('snip_basic_module1._ffi', path) + builder.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_')) + """) + builder.makelib('passwd', """ // 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_')) + builder.write_ffi_module() + return builder.list_built_files() diff --git a/testing/test_zintegration.py b/testing/test_zintegration.py --- a/testing/test_zintegration.py +++ b/testing/test_zintegration.py @@ -92,17 +92,18 @@ def test_distutils_module(): run_setup_and_program("distutils_module", ''' - import snip_basic_module - lib = snip_basic_module.load_passwd() + import snip_basic_module as _ffi + lib = _ffi.load_passwd() p = lib.getpwuid(0) - assert snip_basic_module.string(p.pw_name) == b"root" + assert _ffi.string(p.pw_name) == b"root" ''') def test_distutils_package_1(): run_setup_and_program("distutils_package_1", ''' - import snip_basic_verify1 - p = snip_basic_verify1.C.getpwuid(0) - assert snip_basic_verify1.ffi.string(p.pw_name) == b"root" + from snip_basic_module1 import _ffi + lib = _ffi.load_passwd() + p = lib.getpwuid(0) + assert _ffi.string(p.pw_name) == b"root" ''') def test_distutils_package_2(): _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit