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

Function TestMultiMemoryExported

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

Source from the content-addressed store, hash-verified

13}
14
15func TestMultiMemoryExported(t *testing.T) {
16 wasm, err := Wat2Wasm(`
17 (module
18 (memory (export "memory0") 2 3)
19 (memory (export "memory1") 2 4)
20 (data (memory 0) (i32.const 0x1000) "\01\02\03\04")
21 (data (memory 1) (i32.const 0x1000) "\04\03\02\01")
22 )`)
23 require.NoError(t, err)
24 store := multiMemoryStore()
25 module, err := NewModule(store.Engine, wasm)
26 require.NoError(t, err)
27 exports := module.Exports()
28 require.Len(t, exports, 2)
29 require.NotNil(t, exports[0].Type().MemoryType())
30 require.Equal(t, uint64(2), exports[0].Type().MemoryType().Minimum())
31
32 present, max := exports[0].Type().MemoryType().Maximum()
33 require.True(t, present, "wrong memory limits")
34 require.Equal(t, uint64(3), max, "wrong memory limits")
35
36 require.NotNil(t, exports[1].Type().MemoryType())
37 require.Equal(t, uint64(2), exports[0].Type().MemoryType().Minimum())
38
39 present, max = exports[1].Type().MemoryType().Maximum()
40 require.True(t, present, "wrong memory limits")
41 require.Equal(t, uint64(4), max, "wrong memory limits")
42
43 _, err = NewInstance(store, module, nil)
44 require.NoError(t, err)
45}
46
47func TestMultiMemoryImported(t *testing.T) {
48 wasm, err := Wat2Wasm(`

Callers

nothing calls this directly

Calls 9

ExportsMethod · 0.95
Wat2WasmFunction · 0.85
multiMemoryStoreFunction · 0.85
NewModuleFunction · 0.85
NewInstanceFunction · 0.85
MemoryTypeMethod · 0.80
TypeMethod · 0.45
MinimumMethod · 0.45
MaximumMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…