You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

29 lines
936 B

//! A single-test executable which only tests `Engine::unload_process_handlers`
//! is possible.
//!
//! It's not safe for this binary to contain any other tests.
use wasmtime::*;
#[test]
#[cfg_attr(miri, ignore)]
fn test_unload_engine() {
for _ in 0..3 {
std::thread::spawn(|| {
let engine = Engine::default();
{
let module =
Module::new(&engine, r#"(module (func (export "x") unreachable))"#).unwrap();
let mut store = Store::new(&engine, ());
let instance = Instance::new(&mut store, &module, &[]).unwrap();
let func = instance.get_typed_func::<(), ()>(&mut store, "x").unwrap();
assert!(func.call(&mut store, ()).unwrap_err().is::<Trap>());
}
unsafe {
engine.unload_process_handlers();
}
})
.join()
.unwrap();
}
}