[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