From ddb8453b0de11e4b84056086d22e67c7f3e2b928 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Thu, 31 Jan 2019 14:58:56 -0800 Subject: [PATCH] Move wasmtime's instantiation test into a separate file. --- src/wasmtime.rs | 39 ------------------------------------ tests/instantiate.rs | 47 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 39 deletions(-) create mode 100644 tests/instantiate.rs diff --git a/src/wasmtime.rs b/src/wasmtime.rs index 7be9f362a8..2698db84ca 100644 --- a/src/wasmtime.rs +++ b/src/wasmtime.rs @@ -174,42 +174,3 @@ fn handle_module(context: &mut Context, args: &Args, path: &Path) -> Result<(), Ok(()) } - -#[cfg(test)] -mod tests { - use cranelift_codegen::settings; - use cranelift_codegen::settings::Configurable; - use std::cell::RefCell; - use std::collections::HashMap; - use std::path::PathBuf; - use std::rc::Rc; - use wabt; - use wasmtime_jit::{instantiate, Compiler, NullResolver}; - - const PATH_MODULE_RS2WASM_ADD_FUNC: &str = r"filetests/rs2wasm-add-func.wat"; - - /// Simple test reading a wasm-file and translating to binary representation. - #[test] - fn test_environ_translate() { - let path = PathBuf::from(PATH_MODULE_RS2WASM_ADD_FUNC); - let wat_data = super::read_to_end(path).unwrap(); - assert!(wat_data.len() > 0); - - let data = wabt::wat2wasm(wat_data).expect("expecting valid wat-file"); - assert!(data.len() > 0); - - let mut flag_builder = settings::builder(); - flag_builder.enable("enable_verifier").unwrap(); - - let isa_builder = cranelift_native::builder().unwrap_or_else(|_| { - panic!("host machine is not a supported target"); - }); - let isa = isa_builder.finish(settings::Flags::new(flag_builder)); - - let mut resolver = NullResolver {}; - let mut compiler = Compiler::new(isa); - let global_exports = Rc::new(RefCell::new(HashMap::new())); - let instance = instantiate(&mut compiler, &data, &mut resolver, global_exports); - assert!(instance.is_ok()); - } -} diff --git a/tests/instantiate.rs b/tests/instantiate.rs new file mode 100644 index 0000000000..3901b82c94 --- /dev/null +++ b/tests/instantiate.rs @@ -0,0 +1,47 @@ +use cranelift_codegen::settings; +use cranelift_codegen::settings::Configurable; +use std::cell::RefCell; +use std::collections::HashMap; +use std::fs::File; +use std::io; +use std::io::Read; +use std::path::PathBuf; +use std::rc::Rc; +use wabt; +use wasmtime_jit::{instantiate, Compiler, NullResolver}; + +#[cfg(test)] +const PATH_MODULE_RS2WASM_ADD_FUNC: &str = r"filetests/rs2wasm-add-func.wat"; + +#[cfg(test)] +fn read_to_end(path: PathBuf) -> Result, io::Error> { + let mut buf: Vec = Vec::new(); + let mut file = File::open(path)?; + file.read_to_end(&mut buf)?; + Ok(buf) +} + +/// Simple test reading a wasm-file and translating to binary representation. +#[test] +fn test_environ_translate() { + let path = PathBuf::from(PATH_MODULE_RS2WASM_ADD_FUNC); + let wat_data = read_to_end(path).unwrap(); + assert!(wat_data.len() > 0); + + let data = wabt::wat2wasm(wat_data).expect("expecting valid wat-file"); + assert!(data.len() > 0); + + let mut flag_builder = settings::builder(); + flag_builder.enable("enable_verifier").unwrap(); + + let isa_builder = cranelift_native::builder().unwrap_or_else(|_| { + panic!("host machine is not a supported target"); + }); + let isa = isa_builder.finish(settings::Flags::new(flag_builder)); + + let mut resolver = NullResolver {}; + let mut compiler = Compiler::new(isa); + let global_exports = Rc::new(RefCell::new(HashMap::new())); + let instance = instantiate(&mut compiler, &data, &mut resolver, global_exports); + assert!(instance.is_ok()); +}