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

Function test_traps

tests/all/memory.rs:74–93  ·  view source on GitHub ↗
(store: &mut Store<()>, funcs: &[TestFunc], addr: u32, mem: &Memory)

Source from the content-addressed store, hash-verified

72}
73
74fn test_traps(store: &mut Store<()>, funcs: &[TestFunc], addr: u32, mem: &Memory) {
75 let mem_size = mem.data_size(&store) as u64;
76 for func in funcs {
77 let result = func.func.call(&mut *store, addr);
78 let base = u64::from(func.offset) + u64::from(addr);
79 let range = base..base + u64::from(func.width);
80 if range.start >= mem_size || range.end >= mem_size {
81 assert!(
82 result.is_err(),
83 "access at {}+{}+{} succeeded but should have failed when memory has {} bytes",
84 addr,
85 func.offset,
86 func.width,
87 mem_size
88 );
89 } else {
90 assert!(result.is_ok());
91 }
92 }
93}
94
95#[wasmtime_test(wasm_features(simd))]
96#[cfg_attr(miri, ignore)]

Callers 1

Calls 3

fromFunction · 0.85
data_sizeMethod · 0.45
callMethod · 0.45

Tested by

no test coverage detected