Unify fuzzing and testing code
This commit is contained in:
parent
6c57a0dd11
commit
1e8f131eff
@ -2,7 +2,6 @@
|
|||||||
members = [
|
members = [
|
||||||
"codegen-luajit",
|
"codegen-luajit",
|
||||||
"codegen-luau",
|
"codegen-luau",
|
||||||
"dev-fuzz",
|
|
||||||
"dev-test",
|
"dev-test",
|
||||||
"wasm-ast",
|
"wasm-ast",
|
||||||
"wasm-synth"
|
"wasm-synth"
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
[package]
|
|
||||||
name = "fuzz"
|
|
||||||
version = "0.0.0"
|
|
||||||
edition = "2021"
|
|
||||||
publish = false
|
|
||||||
|
|
||||||
[package.metadata]
|
|
||||||
cargo-fuzz = true
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
libfuzzer-sys = "0.4"
|
|
||||||
wasm-smith = "0.8.0"
|
|
||||||
|
|
||||||
[dependencies.parity-wasm]
|
|
||||||
git = "https://github.com/paritytech/parity-wasm.git"
|
|
||||||
features = ["multi_value", "sign_ext"]
|
|
||||||
|
|
||||||
[dependencies.wasm-ast]
|
|
||||||
path = "../wasm-ast"
|
|
||||||
|
|
||||||
[dependencies.codegen-luajit]
|
|
||||||
path = "../codegen-luajit"
|
|
||||||
|
|
||||||
[dependencies.codegen-luau]
|
|
||||||
path = "../codegen-luau"
|
|
||||||
|
|
||||||
[[bin]]
|
|
||||||
name = "luajit_translate"
|
|
||||||
path = "fuzz_targets/luajit_translate.rs"
|
|
||||||
test = false
|
|
||||||
doc = false
|
|
||||||
|
|
||||||
[[bin]]
|
|
||||||
name = "luau_translate"
|
|
||||||
path = "fuzz_targets/luau_translate.rs"
|
|
||||||
test = false
|
|
||||||
doc = false
|
|
@ -2,24 +2,34 @@
|
|||||||
name = "dev-test"
|
name = "dev-test"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
publish = false
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
[package.metadata]
|
||||||
|
cargo-fuzz = true
|
||||||
|
|
||||||
[dependencies.test-generator]
|
[dependencies]
|
||||||
version = "0.3.0"
|
libfuzzer-sys = "0.4"
|
||||||
|
wasm-smith = "0.8.0"
|
||||||
[dependencies.wast]
|
wasm-ast = { path = "../wasm-ast" }
|
||||||
version = "41.0.0"
|
codegen-luajit = { path = "../codegen-luajit" }
|
||||||
|
codegen-luau = { path = "../codegen-luau" }
|
||||||
|
|
||||||
[dependencies.parity-wasm]
|
[dependencies.parity-wasm]
|
||||||
git = "https://github.com/paritytech/parity-wasm.git"
|
git = "https://github.com/paritytech/parity-wasm.git"
|
||||||
features = ["multi_value", "sign_ext"]
|
features = ["multi_value", "sign_ext"]
|
||||||
|
|
||||||
[dependencies.wasm-ast]
|
[dev-dependencies]
|
||||||
path = "../wasm-ast"
|
test-generator = "0.3.0"
|
||||||
|
wast = "41.0.0"
|
||||||
|
|
||||||
[dependencies.codegen-luajit]
|
[[bin]]
|
||||||
path = "../codegen-luajit"
|
name = "luajit_translate"
|
||||||
|
path = "fuzz_targets/luajit_translate.rs"
|
||||||
|
test = false
|
||||||
|
doc = false
|
||||||
|
|
||||||
[dependencies.codegen-luau]
|
[[bin]]
|
||||||
path = "../codegen-luau"
|
name = "luau_translate"
|
||||||
|
path = "fuzz_targets/luau_translate.rs"
|
||||||
|
test = false
|
||||||
|
doc = false
|
||||||
|
@ -117,6 +117,8 @@ fn parse_and_validate<'a>(buffer: &'a ParseBuffer) -> Option<Wast<'a>> {
|
|||||||
observer.then(|| loaded)
|
observer.then(|| loaded)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static TEMP_DIR: &str = env!("CARGO_TARGET_TMPDIR");
|
||||||
|
|
||||||
struct Tester<T> {
|
struct Tester<T> {
|
||||||
_marker: PhantomData<T>,
|
_marker: PhantomData<T>,
|
||||||
}
|
}
|
||||||
@ -124,7 +126,7 @@ struct Tester<T> {
|
|||||||
impl<T: Target> Tester<T> {
|
impl<T: Target> Tester<T> {
|
||||||
fn test(name: &str, source: &str) -> IResult<()> {
|
fn test(name: &str, source: &str) -> IResult<()> {
|
||||||
if let Some(data) = Self::run_generation(source)? {
|
if let Some(data) = Self::run_generation(source)? {
|
||||||
let temp = std::env::temp_dir().join("wasm-test-".to_string() + name);
|
let temp = PathBuf::from(TEMP_DIR).join("west-".to_string() + name);
|
||||||
|
|
||||||
std::fs::write(&temp, &data)?;
|
std::fs::write(&temp, &data)?;
|
||||||
Self::run_command(&temp)?;
|
Self::run_command(&temp)?;
|
Loading…
x
Reference in New Issue
Block a user