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

Function TestMultiMemoryImported

multi_memory_test.go:47–80  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

45}
46
47func TestMultiMemoryImported(t *testing.T) {
48 wasm, err := Wat2Wasm(`
49 (module
50 (import "" "m0" (memory 1))
51 (import "" "m1" (memory $m 1))
52 (func (export "load1") (result i32)
53 i32.const 2
54 i32.load8_s $m
55 )
56 )`)
57 require.NoError(t, err)
58 store := multiMemoryStore()
59
60 mt, err := NewMemoryType(1, true, 3, false)
61 require.NoError(t, err)
62 mem0, err := NewMemory(store, mt)
63 require.NoError(t, err)
64 mt, err = NewMemoryType(2, true, 4, false)
65 require.NoError(t, err)
66 mem1, err := NewMemory(store, mt)
67 require.NoError(t, err)
68
69 module, err := NewModule(store.Engine, wasm)
70 require.NoError(t, err)
71 instance, err := NewInstance(store, module, []AsExtern{mem0, mem1})
72 require.NoError(t, err)
73
74 copy(mem1.UnsafeData(store)[2:3], []byte{100})
75
76 res, err := instance.GetFunc(store, "load1").Call(store)
77 require.NoError(t, err)
78 require.IsType(t, res, int32(0))
79 require.Equal(t, int32(100), res.(int32))
80}

Callers

nothing calls this directly

Calls 9

UnsafeDataMethod · 0.95
GetFuncMethod · 0.95
Wat2WasmFunction · 0.85
multiMemoryStoreFunction · 0.85
NewMemoryTypeFunction · 0.85
NewMemoryFunction · 0.85
NewModuleFunction · 0.85
NewInstanceFunction · 0.85
CallMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…