MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime-go / TestModuleImports

Function TestModuleImports

module_test.go:25–60  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

23}
24
25func TestModuleImports(t *testing.T) {
26 wasm, err := Wat2Wasm(`
27 (module
28 (import "" "f" (func))
29 (import "a" "g" (global i32))
30 (import "" "" (table 1 funcref))
31 (import "" "" (memory 1))
32 )
33 `)
34 require.NoError(t, err)
35 module, err := NewModule(NewEngine(), wasm)
36 require.NoError(t, err)
37 defer module.Close()
38 imports := module.Imports()
39 require.Len(t, imports, 4)
40 require.Equal(t, "", imports[0].Module())
41 require.Equal(t, "f", *imports[0].Name())
42 require.NotNil(t, imports[0].Type().FuncType())
43 require.Len(t, imports[0].Type().FuncType().Params(), 0)
44 require.Len(t, imports[0].Type().FuncType().Results(), 0)
45
46 require.Equal(t, "a", imports[1].Module())
47 require.Equal(t, "g", *imports[1].Name())
48 require.NotNil(t, imports[1].Type().GlobalType())
49 require.Equal(t, KindI32, imports[1].Type().GlobalType().Content().Kind())
50
51 require.Empty(t, imports[2].Module())
52 require.Empty(t, *imports[2].Name())
53 require.NotNil(t, imports[2].Type().TableType())
54 require.Equal(t, KindFuncref, imports[2].Type().TableType().Element().Kind())
55
56 require.Empty(t, imports[3].Module())
57 require.Empty(t, *imports[3].Name())
58 require.NotNil(t, imports[3].Type().MemoryType())
59 require.Equal(t, uint64(1), imports[3].Type().MemoryType().Minimum())
60}
61
62func TestModuleExports(t *testing.T) {
63 wasm, err := Wat2Wasm(`

Callers

nothing calls this directly

Calls 15

CloseMethod · 0.95
ImportsMethod · 0.95
Wat2WasmFunction · 0.85
NewModuleFunction · 0.85
NewEngineFunction · 0.85
ModuleMethod · 0.80
FuncTypeMethod · 0.80
ParamsMethod · 0.80
ResultsMethod · 0.80
GlobalTypeMethod · 0.80
ContentMethod · 0.80
TableTypeMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…