From 0262ded968ece38cff5cb80626299155ef040228 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Thu, 18 Nov 2021 23:14:47 +0000 Subject: add fuzzer input generator --- examples/generate_fuzz.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 examples/generate_fuzz.rs (limited to 'examples/generate_fuzz.rs') diff --git a/examples/generate_fuzz.rs b/examples/generate_fuzz.rs new file mode 100644 index 0000000..92c983b --- /dev/null +++ b/examples/generate_fuzz.rs @@ -0,0 +1,25 @@ +use std::io::BufRead as _; +use std::io::Write as _; + +#[path = "../tests/helpers/mod.rs"] +mod helpers; + +fn main() { + let name = std::env::args().nth(1).unwrap(); + let _ = std::fs::remove_file(format!("fuzz/in/{}", name)); + + let inputs = + std::fs::File::open(format!("tests/data/fixtures/{}.in", name)) + .unwrap(); + let inputs = std::io::BufReader::new(inputs); + + let mut bytes = vec![]; + for line in inputs.lines() { + let line = line.unwrap(); + let input = helpers::unhex(line.as_bytes()); + bytes.extend(input.iter()); + } + let mut input_file = + std::fs::File::create(format!("fuzz/in/{}", name)).unwrap(); + input_file.write_all(&bytes).unwrap(); +} -- cgit v1.2.3-54-g00ecf