Author: Stefano Rivera <[email protected]>
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
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit