mirror of
https://github.com/fluencelabs/wasm-utils
synced 2025-05-10 14:07:13 +00:00
add validation via wabt-rs and fix
This commit is contained in:
parent
24dc9e3f15
commit
d220107dab
@ -14,6 +14,7 @@ byteorder = "1"
|
||||
|
||||
[dev-dependencies]
|
||||
tempdir = "0.3"
|
||||
wabt = "0.1"
|
||||
|
||||
[lib]
|
||||
|
||||
|
12
src/gas.rs
12
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]
|
||||
|
Loading…
x
Reference in New Issue
Block a user