mirror of
https://github.com/fluencelabs/wasm-utils
synced 2025-05-11 15:01:47 +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]
|
[dev-dependencies]
|
||||||
tempdir = "0.3"
|
tempdir = "0.3"
|
||||||
|
wabt = "0.1"
|
||||||
|
|
||||||
[lib]
|
[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),
|
GetLocal(1),
|
||||||
GrowMemory(0),
|
GrowMemory(0),
|
||||||
GetLocal(0),
|
GetLocal(0),
|
||||||
|
End,
|
||||||
]))
|
]))
|
||||||
.build()
|
.build()
|
||||||
.build()
|
.build()
|
||||||
@ -196,7 +197,9 @@ pub fn inject_gas_counter(module: elements::Module, rules: &rules::Set) -> eleme
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
|
||||||
use parity_wasm::{builder, elements};
|
extern crate wabt;
|
||||||
|
|
||||||
|
use parity_wasm::{serialize, builder, elements};
|
||||||
use super::*;
|
use super::*;
|
||||||
use rules;
|
use rules;
|
||||||
|
|
||||||
@ -246,11 +249,15 @@ mod tests {
|
|||||||
GetLocal(1),
|
GetLocal(1),
|
||||||
GrowMemory(0),
|
GrowMemory(0),
|
||||||
GetLocal(0),
|
GetLocal(0),
|
||||||
|
End,
|
||||||
][..],
|
][..],
|
||||||
injected_module
|
injected_module
|
||||||
.code_section().expect("function section should exist").bodies()[1]
|
.code_section().expect("function section should exist").bodies()[1]
|
||||||
.code().elements()
|
.code().elements()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let binary = serialize(injected_module).expect("serialization failed");
|
||||||
|
self::wabt::wasm2wat(&binary).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -291,6 +298,9 @@ mod tests {
|
|||||||
);
|
);
|
||||||
|
|
||||||
assert_eq!(injected_module.functions_space(), 2);
|
assert_eq!(injected_module.functions_space(), 2);
|
||||||
|
|
||||||
|
let binary = serialize(injected_module).expect("serialization failed");
|
||||||
|
self::wabt::wasm2wat(&binary).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user