aboutsummaryrefslogtreecommitdiffstats
path: root/examples/generate_fuzz.rs
blob: c51402b05b14bb94607b41b7d9f55deb5b50a81f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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/{name}.in"))
            .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();
}