Coverage for tests/codegen/test_bare_funcs.py: 100%
12 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-20 16:25 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-20 16:25 +0000
1from . import bindgen
2from wasmtime import Store
4module = """
5 (component
6 (import "foo-import" (func $foo-import (param "a" s32) (result s32)))
8 (core func $foo-import-lowered (canon lower (func $foo-import)))
10 (core module $m
11 (import "" "foo" (func $foo (param i32) (result i32)))
13 (func (export "foo") (param i32) (result i32)
14 (call $foo (local.get 0))
15 )
16 )
18 (core instance $i (instantiate $m
19 (with "" (instance
20 (export "foo" (func $foo-import-lowered))
21 ))
22 ))
24 (func $foo-export-lifted (param "a" s32) (result s32) (canon lift (core func $i "foo")))
26 (export "foo-export" (func $foo-export-lifted))
27 )
28"""
29bindgen('bare_funcs', module)
31from .generated.bare_funcs import Root, RootImports, imports
34class Host(imports.Host):
35 def foo_import(self, a):
36 return a + 1
39def test_bindings():
40 store = Store()
41 bindings = Root(store, RootImports(host=Host()))
42 assert 101 == bindings.foo_export(store, 100)