Add trivial fuzzer for parser

As described in #61, fuzz testing some parts of this would be ~~fun~~
helpful. So, I started with the most trivial fuzzer I could think of:
Put random stuff into File::parse and see what happens.

To speed things up, I also did

    cp src/**/*.rs fuzz/corpus/parser/

in the `crates/libsyntax2/` directory (running the fuzzer once will
generate the necessary directories).
This commit is contained in:
Pascal Hertleif 2018-09-08 16:55:53 +02:00
parent df05c5c3e2
commit a37cd5ad43
3 changed files with 38 additions and 0 deletions

View file

@ -0,0 +1,12 @@
#![no_main]
#[macro_use] extern crate libfuzzer_sys;
extern crate libsyntax2;
fuzz_target!(|data: &[u8]| {
if let Ok(text) = std::str::from_utf8(data) {
let x = libsyntax2::File::parse(text);
let _ = x.ast();
let _ = x.syntax();
let _ = x.errors();
}
});