MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / test

Function test

tests/all/instance.rs:53–80  ·  view source on GitHub ↗
(engine: &Engine)

Source from the content-addressed store, hash-verified

51 return Ok(());
52
53 fn test(engine: &Engine) -> Result<()> {
54 let wat = r#"
55 (module
56 (memory 65534)
57
58 (func (export "grow") (result i32)
59 i32.const 1
60 memory.grow)
61 (func (export "size") (result i32)
62 memory.size)
63 )
64 "#;
65 let module = Module::new(engine, wat)?;
66
67 let mut store = Store::new(engine, ());
68 let instance = Instance::new(&mut store, &module, &[])?;
69 let size = instance.get_typed_func::<(), i32>(&mut store, "size")?;
70 let grow = instance.get_typed_func::<(), i32>(&mut store, "grow")?;
71
72 assert_eq!(size.call(&mut store, ())?, 65534);
73 assert_eq!(grow.call(&mut store, ())?, 65534);
74 assert_eq!(size.call(&mut store, ())?, 65535);
75 assert_eq!(grow.call(&mut store, ())?, 65535);
76 assert_eq!(size.call(&mut store, ())?, 65536);
77 assert_eq!(grow.call(&mut store, ())?, -1);
78 assert_eq!(size.call(&mut store, ())?, 65536);
79 Ok(())
80 }
81}

Callers 1

linear_memory_limitsFunction · 0.70

Calls 2

OkFunction · 0.85
newFunction · 0.50

Tested by

no test coverage detected