[pypy-commit] cffi default: another test
fijal
noreply at buildbot.pypy.org
Sat Sep 22 13:30:57 CEST 2012
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch:
Changeset: r963:05842a259649
Date: 2012-09-22 13:30 +0200
http://bitbucket.org/cffi/cffi/changeset/05842a259649/
Log: another test
diff --git a/testing/snippets/setuptools_verify/setup.py b/testing/snippets/setuptools_verify/setup.py
new file mode 100644
--- /dev/null
+++ b/testing/snippets/setuptools_verify/setup.py
@@ -0,0 +1,8 @@
+
+from setuptools import setup
+import snip_setuptools_verify
+
+setup(
+ zip_safe=False,
+ packages=['snip_setuptools_verify'],
+ ext_modules=[snip_setuptools_verify.ffi.verifier.get_extension()])
diff --git a/testing/snippets/setuptools_verify/snip_setuptools_verify/__init__.py b/testing/snippets/setuptools_verify/snip_setuptools_verify/__init__.py
new file mode 100644
--- /dev/null
+++ b/testing/snippets/setuptools_verify/snip_setuptools_verify/__init__.py
@@ -0,0 +1,15 @@
+
+from cffi import FFI
+
+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
diff --git a/testing/test_integration.py b/testing/test_integration.py
--- a/testing/test_integration.py
+++ b/testing/test_integration.py
@@ -52,3 +52,12 @@
p = snip_basic_verify.C.getpwuid(0)
assert snip_basic_verify.ffi.string(p.pw_name) == "root"
''')
+
+def test_setuptools_verify():
+ venv_dir = create_venv()
+ run_setup_and_program("setuptools_verify", venv_dir, '''
+ import snip_setuptools_verify
+ p = snip_setuptools_verify.C.getpwuid(0)
+ assert snip_setuptools_verify.ffi.string(p.pw_name) == "root"
+ ''')
+
More information about the pypy-commit
mailing list