[pypy-svn] r74870 - in pypy/branch/fast-ctypes/pypy/module/jitffi: . test
getxsick at codespeak.net
getxsick at codespeak.net
Fri May 28 20:14:10 CEST 2010
Author: getxsick
Date: Fri May 28 20:14:06 2010
New Revision: 74870
Added:
pypy/branch/fast-ctypes/pypy/module/jitffi/ (props changed)
pypy/branch/fast-ctypes/pypy/module/jitffi/__init__.py (contents, props changed)
pypy/branch/fast-ctypes/pypy/module/jitffi/interp_jitffi.py
pypy/branch/fast-ctypes/pypy/module/jitffi/test/ (props changed)
pypy/branch/fast-ctypes/pypy/module/jitffi/test/__init__.py (contents, props changed)
pypy/branch/fast-ctypes/pypy/module/jitffi/test/test_jitffi.py (contents, props changed)
Log:
just some init checkin. nothing worth to look yet.
Added: pypy/branch/fast-ctypes/pypy/module/jitffi/__init__.py
==============================================================================
--- (empty file)
+++ pypy/branch/fast-ctypes/pypy/module/jitffi/__init__.py Fri May 28 20:14:06 2010
@@ -0,0 +1,8 @@
+from pypy.interpreter.mixedmodule import MixedModule
+
+class Module(MixedModule):
+ interpleveldefs = {
+ 'load' : 'interp_jitffi.W_load',
+ }
+
+ appleveldefs = {}
Added: pypy/branch/fast-ctypes/pypy/module/jitffi/interp_jitffi.py
==============================================================================
--- (empty file)
+++ pypy/branch/fast-ctypes/pypy/module/jitffi/interp_jitffi.py Fri May 28 20:14:06 2010
@@ -0,0 +1,4 @@
+from pypy.interpreter.baseobjspace import Wrappable
+
+class W_load(Wrappable):
+ pass
Added: pypy/branch/fast-ctypes/pypy/module/jitffi/test/__init__.py
==============================================================================
Added: pypy/branch/fast-ctypes/pypy/module/jitffi/test/test_jitffi.py
==============================================================================
--- (empty file)
+++ pypy/branch/fast-ctypes/pypy/module/jitffi/test/test_jitffi.py Fri May 28 20:14:06 2010
@@ -0,0 +1,35 @@
+from pypy.conftest import gettestobjspace
+from pypy.translator.tool.cbuild import ExternalCompilationInfo
+from pypy.translator.platform import platform
+
+import py
+
+class AppTestJitffi(object):
+ @staticmethod
+ def preprare_c_example():
+ from pypy.tool.udir import udir
+ c_file = udir.ensure("test_jitffi", dir=True).join("xlib.c")
+ c_file.write(py.code.Source('''
+ int add_integers(int a, int b)
+ {
+ return a+b;
+ }
+ '''))
+
+ symbols = ["sum"]
+ eci = ExternalCompilationInfo(export_symbols=symbols)
+
+ return str(platform.compile([c_file], eci, 'x', standalone=False))
+
+ def setup_class(cls):
+ from pypy.rlib.libffi import get_libc_name
+ space = gettestobjspace(usemodules=('jitffi',))
+ cls.space = space
+ cls.w_lib_name = space.wrap(cls.preprare_c_example())
+ cls.w_libc_name = space.wrap(get_libc_name())
+
+ def test_raw_callable(self):
+ import jitffi
+ lib = jitffi.load(self.lib_name)
+ res = lib.call('add_integers', 1, 2)
+ assert res == 3
More information about the Pypy-commit
mailing list