mirror of
https://github.com/fluencelabs/parity-wasm
synced 2025-05-24 13:11:34 +00:00
global import breaks with Function("missing exports with name STACKTOP")
This commit is contained in:
parent
d78b8c6a13
commit
a5da7d604b
@ -210,6 +210,39 @@ fn single_program_different_modules() {
|
|||||||
assert_eq!(executor.values, vec![7, 57, 42]);
|
assert_eq!(executor.values, vec![7, 57, 42]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn import_global() {
|
||||||
|
// create new program
|
||||||
|
let program = ProgramInstance::new().unwrap();
|
||||||
|
// => env module is created
|
||||||
|
let env_instance = program.module("env").unwrap();
|
||||||
|
// => linear memory is created
|
||||||
|
let env_memory = env_instance.memory(ItemIndex::Internal(0)).unwrap();
|
||||||
|
|
||||||
|
// create native env module executor
|
||||||
|
let mut executor = FunctionExecutor {
|
||||||
|
memory: env_memory.clone(),
|
||||||
|
values: Vec::new(),
|
||||||
|
};
|
||||||
|
{
|
||||||
|
let functions: UserFunctions = UserFunctions {
|
||||||
|
executor: &mut executor,
|
||||||
|
functions: ::std::borrow::Cow::from(SIGNATURES),
|
||||||
|
};
|
||||||
|
let native_env_instance = Arc::new(env_native_module(env_instance, functions).unwrap());
|
||||||
|
let params = ExecutionParams::with_external("env".into(), native_env_instance);
|
||||||
|
|
||||||
|
let module = module()
|
||||||
|
.with_import(ImportEntry::new("env".into(), "STACKTOP".into(), External::Global(GlobalType::new(ValueType::I32, false))))
|
||||||
|
.build();
|
||||||
|
|
||||||
|
// load module
|
||||||
|
program.add_module("main", module, Some(¶ms.externals)).unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn env_native_export_entry_type_check() {
|
fn env_native_export_entry_type_check() {
|
||||||
let program = ProgramInstance::new().unwrap();
|
let program = ProgramInstance::new().unwrap();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user