diff --git a/Cargo.toml b/Cargo.toml index 9ed330c..dbb2323 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,6 +14,7 @@ byteorder = "1" [dev-dependencies] tempdir = "0.3" +wabt = "0.1" [lib] diff --git a/src/gas.rs b/src/gas.rs index 031e3b9..5f3e9bc 100644 --- a/src/gas.rs +++ b/src/gas.rs @@ -53,6 +53,7 @@ fn add_grow_counter(module: elements::Module, rules: &rules::Set, gas_func: u32) GetLocal(1), GrowMemory(0), GetLocal(0), + End, ])) .build() .build() @@ -196,7 +197,9 @@ pub fn inject_gas_counter(module: elements::Module, rules: &rules::Set) -> eleme #[cfg(test)] mod tests { - use parity_wasm::{builder, elements}; + extern crate wabt; + + use parity_wasm::{serialize, builder, elements}; use super::*; use rules; @@ -246,11 +249,15 @@ mod tests { GetLocal(1), GrowMemory(0), GetLocal(0), + End, ][..], injected_module .code_section().expect("function section should exist").bodies()[1] .code().elements() ); + + let binary = serialize(injected_module).expect("serialization failed"); + self::wabt::wasm2wat(&binary).unwrap(); } #[test] @@ -291,6 +298,9 @@ mod tests { ); assert_eq!(injected_module.functions_space(), 2); + + let binary = serialize(injected_module).expect("serialization failed"); + self::wabt::wasm2wat(&binary).unwrap(); } #[test]