This commit is contained in:
Sergey Pepyakin
2017-11-26 00:29:33 +03:00
parent ea980415f6
commit ea6275cc9d
9 changed files with 82 additions and 114 deletions

View File

@ -6,10 +6,10 @@ use std::collections::HashMap;
use builder::module;
use elements::{ExportEntry, Internal, ImportEntry, External, GlobalEntry, GlobalType,
InitExpr, ValueType, BlockType, Opcodes, Opcode, FunctionType, TableType, MemoryType};
use interpreter::{Error, UserError, ProgramInstance, DefaultProgramInstance, DefaultModuleInstance};
use interpreter::{Error, UserError, ProgramInstance};
use interpreter::env_native::{env_native_module, UserDefinedElements, UserFunctionExecutor, UserFunctionDescriptor};
use interpreter::memory::MemoryInstance;
use interpreter::module::{ModuleInstanceInterface, CallerContext, ItemIndex, ExecutionParams, ExportEntryType, FunctionSignature};
use interpreter::module::{ModuleInstance, ModuleInstanceInterface, CallerContext, ItemIndex, ExecutionParams, ExportEntryType, FunctionSignature};
use interpreter::validator::{FunctionValidationContext, Validator};
use interpreter::value::{RuntimeValue, TryInto};
use interpreter::variable::{VariableInstance, ExternalVariableValue, VariableType};
@ -40,7 +40,7 @@ fn import_function() {
.build()
.build();
let program = DefaultProgramInstance::new().unwrap();
let program = ProgramInstance::new().unwrap();
let external_module = program.add_module("external_module", module1, None).unwrap();
let main_module = program.add_module("main", module2, None).unwrap();
@ -74,7 +74,7 @@ fn wrong_import() {
.build()
.build();
let program = DefaultProgramInstance::new().unwrap();
let program = ProgramInstance::new().unwrap();
let _side_module_instance = program.add_module("side_module", side_module, None).unwrap();
assert!(program.add_module("main", module, None).is_err());
}
@ -96,7 +96,7 @@ fn global_get_set() {
.build()
.build();
let program = DefaultProgramInstance::new().unwrap();
let program = ProgramInstance::new().unwrap();
let module = program.add_module("main", module, None).unwrap();
assert_eq!(module.execute_index(0, vec![].into()).unwrap().unwrap(), RuntimeValue::I32(50));
assert_eq!(module.execute_index(0, vec![].into()).unwrap().unwrap(), RuntimeValue::I32(58));
@ -428,7 +428,7 @@ fn native_custom_error() {
#[test]
fn import_env_mutable_global() {
let program = DefaultProgramInstance::new().unwrap();
let program = ProgramInstance::new().unwrap();
let module = module()
.with_import(ImportEntry::new("env".into(), "STACKTOP".into(), External::Global(GlobalType::new(ValueType::I32, false))))
@ -473,7 +473,7 @@ fn env_native_export_entry_type_check() {
#[test]
fn if_else_with_return_type_validation() {
let module_instance = DefaultModuleInstance::new(Weak::default(), "test".into(), module().build()).unwrap();
let module_instance = ModuleInstance::new(Weak::default(), "test".into(), module().build()).unwrap();
let mut context = FunctionValidationContext::new(&module_instance, None, &[], 1024, 1024, FunctionSignature::Module(&FunctionType::default()));
Validator::validate_function(&mut context, BlockType::NoResult, &[
@ -498,7 +498,7 @@ fn memory_import_limits_initial() {
.with_export(ExportEntry::new("memory".into(), Internal::Memory(0)))
.build();
let program = DefaultProgramInstance::new().unwrap();
let program = ProgramInstance::new().unwrap();
program.add_module("core", core_module, None).unwrap();
let test_cases = vec![
@ -535,7 +535,7 @@ fn memory_import_limits_maximum() {
(None, None, MaximumError::Ok),
];
let program = DefaultProgramInstance::new().unwrap();
let program = ProgramInstance::new().unwrap();
for test_case in test_cases {
let (core_maximum, client_maximum, expected_err) = test_case;
let core_module = module()
@ -566,7 +566,7 @@ fn table_import_limits_initial() {
.with_export(ExportEntry::new("table".into(), Internal::Table(0)))
.build();
let program = DefaultProgramInstance::new().unwrap();
let program = ProgramInstance::new().unwrap();
program.add_module("core", core_module, None).unwrap();
let test_cases = vec![
@ -603,7 +603,7 @@ fn table_import_limits_maximum() {
(None, None, MaximumError::Ok),
];
let program = DefaultProgramInstance::new().unwrap();
let program = ProgramInstance::new().unwrap();
for test_case in test_cases {
let (core_maximum, client_maximum, expected_err) = test_case;
let core_module = module()