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

Function test_probe_shared_memory_size

tests/all/threads.rs:135–158  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

133#[test]
134#[cfg_attr(miri, ignore)]
135fn test_probe_shared_memory_size() -> Result<()> {
136 let wat = r#"(module
137 (memory (export "memory") 1 2 shared)
138 (func (export "size") (result i32) (memory.size))
139 )"#;
140 let Some(engine) = engine() else {
141 return Ok(());
142 };
143 let module = Module::new(&engine, wat)?;
144 let mut store = Store::new(&engine, ());
145 let instance = Instance::new(&mut store, &module, &[])?;
146 let size_fn = instance.get_typed_func::<(), i32>(&mut store, "size")?;
147 let shared_memory = instance.get_shared_memory(&mut store, "memory").unwrap();
148
149 assert_eq!(size_fn.call(&mut store, ())?, 1);
150 assert_eq!(shared_memory.size(), 1);
151
152 shared_memory.grow(1)?;
153
154 assert_eq!(shared_memory.size(), 2);
155 assert_eq!(size_fn.call(&mut store, ())?, 2);
156
157 Ok(())
158}
159
160#[test]
161#[cfg_attr(miri, ignore)]

Callers

nothing calls this directly

Calls 6

OkFunction · 0.85
get_shared_memoryMethod · 0.80
engineFunction · 0.70
newFunction · 0.50
unwrapMethod · 0.45
growMethod · 0.45

Tested by

no test coverage detected