Coverage for tests/codegen/test_two_exports.py: 100%
18 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 "i" (instance $i
7 (export "f1" (func))
8 (export "f2" (func))
9 ))
11 (core func $f1 (canon lower (func $i "f1")))
12 (core func $f2 (canon lower (func $i "f2")))
14 (func $f1' (canon lift (core func $f1)))
15 (func $f2' (canon lift (core func $f2)))
17 (instance (export "i1") (export "f1" (func $f1')))
18 (instance (export "i2") (export "f2" (func $f2')))
19 )
20"""
21bindgen('two_exports', module)
23from .generated.two_exports import Root, RootImports, imports
26class Host(imports.HostI):
27 def f1(self) -> None:
28 self.f1_hit = True
30 def f2(self) -> None:
31 self.f2_hit = True
34def test_bindings():
35 store = Store()
36 host = Host()
37 wasm = Root(store, RootImports(i=host))
39 wasm.i1().f1(store)
40 assert(host.f1_hit)
41 wasm.i2().f2(store)
42 assert(host.f2_hit)