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

1from . import bindgen 

2from wasmtime import Store 

3 

4module = """ 

5 (component 

6 (import "foo-import" (func $foo-import (param "a" s32) (result s32))) 

7 

8 (core func $foo-import-lowered (canon lower (func $foo-import))) 

9 

10 (core module $m 

11 (import "" "foo" (func $foo (param i32) (result i32))) 

12 

13 (func (export "foo") (param i32) (result i32) 

14 (call $foo (local.get 0)) 

15 ) 

16 ) 

17 

18 (core instance $i (instantiate $m 

19 (with "" (instance 

20 (export "foo" (func $foo-import-lowered)) 

21 )) 

22 )) 

23 

24 (func $foo-export-lifted (param "a" s32) (result s32) (canon lift (core func $i "foo"))) 

25 

26 (export "foo-export" (func $foo-export-lifted)) 

27 ) 

28""" 

29bindgen('bare_funcs', module) 

30 

31from .generated.bare_funcs import Root, RootImports, imports 

32 

33 

34class Host(imports.Host): 

35 def foo_import(self, a): 

36 return a + 1 

37 

38 

39def test_bindings(): 

40 store = Store() 

41 bindings = Root(store, RootImports(host=Host())) 

42 assert 101 == bindings.foo_export(store, 100)