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

Function deserialize_raw_fails_for_native

tests/all/module.rs:625–652  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

623#[test]
624#[cfg_attr(miri, ignore)]
625fn deserialize_raw_fails_for_native() {
626 // target pulley
627 let engine = Engine::default();
628 let wat = String::from(
629 r#"
630 (module
631 (func (export "add") (param $lhs i32) (param $rhs i32) (result i32)
632 (i32.add (local.get $lhs) (local.get $rhs))
633 )
634 )
635 "#,
636 );
637 let module = Module::new(&engine, &wat).unwrap();
638 let mut serialized = module.serialize().expect("Serialize failed");
639 let serialized_ptr = std::ptr::slice_from_raw_parts(serialized.as_mut_ptr(), serialized.len());
640 let module_memory = std::ptr::NonNull::new(serialized_ptr.cast_mut()).unwrap();
641 let deserialize_res = unsafe { Module::deserialize_raw(&engine, module_memory) };
642
643 if engine.is_pulley() {
644 let _mod = deserialize_res.expect("Module should deserialize fine for pulley");
645 } else {
646 let err = deserialize_res.expect_err("Deserialization should fail for host target");
647 assert_eq!(
648 format!("{err}"),
649 "this target requires virtual memory to be enabled"
650 );
651 }
652}

Callers

nothing calls this directly

Calls 9

fromFunction · 0.85
slice_from_raw_partsFunction · 0.85
newFunction · 0.50
unwrapMethod · 0.45
expectMethod · 0.45
serializeMethod · 0.45
as_mut_ptrMethod · 0.45
lenMethod · 0.45
is_pulleyMethod · 0.45

Tested by

no test coverage detected