#[cfg(fuzzing)]
use honggfuzz::fuzz;
use mil::{
compiler::{BinCode, Compile},
types::{MelExpr, Value},
};
#[cfg(fuzzing)]
fn main() {
loop {
fuzz!(|data: &[u8]| { test_once(data) });
}
}
fn test_once(data: &[u8]) {
if let Ok(data) = String::from_utf8(data.to_vec()) {
eprintln!("{}", data);
if let Ok(parsed) = mil::parser::parse(&data) {
if let MelExpr::Value(Value::Bytes(_)) = parsed {
return;
}
eprintln!("{:?}", parsed);
let _ = parsed.compile_onto(BinCode::default());
}
}
}
#[cfg(not(fuzzing))]
fn main() {}