summaryrefslogtreecommitdiff
path: root/testing/embedding/add2.py
blob: 311a464a8d3c8f15180f7eaedaae87de948ee12e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import cffi

ffi = cffi.FFI()

ffi.embedding_api("""
    int add2(int, int, int);
""")

ffi.embedding_init_code(r"""
    import sys
    sys.stdout.write("prepADD2\n")

    assert '_add2_cffi' in sys.modules
    m = sys.modules['_add2_cffi']
    import _add2_cffi
    ffi = _add2_cffi.ffi

    @ffi.def_extern()
    def add2(x, y, z):
        sys.stdout.write("adding %d and %d and %d\n" % (x, y, z))
        sys.stdout.flush()
        return x + y + z
""")

ffi.set_source("_add2_cffi", """
""")

fn = ffi.compile(verbose=True)
print('FILENAME: %s' % (fn,))