diff options
| author | Aleksey Kladov <aleksey.kladov@gmail.com> | 2020-08-12 18:26:51 +0200 |
|---|---|---|
| committer | Aleksey Kladov <aleksey.kladov@gmail.com> | 2020-08-12 18:30:53 +0200 |
| commit | a1c187eef3ba08076aedb5154929f7eda8d1b424 (patch) | |
| tree | 9d898eb9600b0c36a74e4f95238f679c683fa566 /crates/syntax/fuzz | |
| parent | 3d6889cba72a9d02199f7adaa2ecc69bc30af834 (diff) | |
| download | rust-a1c187eef3ba08076aedb5154929f7eda8d1b424.tar.gz rust-a1c187eef3ba08076aedb5154929f7eda8d1b424.zip | |
Rename ra_syntax -> syntax
Diffstat (limited to 'crates/syntax/fuzz')
| -rw-r--r-- | crates/syntax/fuzz/.gitignore | 4 | ||||
| -rw-r--r-- | crates/syntax/fuzz/Cargo.toml | 27 | ||||
| -rw-r--r-- | crates/syntax/fuzz/fuzz_targets/parser.rs | 11 | ||||
| -rw-r--r-- | crates/syntax/fuzz/fuzz_targets/reparse.rs | 11 |
4 files changed, 53 insertions, 0 deletions
diff --git a/crates/syntax/fuzz/.gitignore b/crates/syntax/fuzz/.gitignore new file mode 100644 index 00000000000..f734abd499c --- /dev/null +++ b/crates/syntax/fuzz/.gitignore @@ -0,0 +1,4 @@ +Cargo.lock +target +corpus +artifacts diff --git a/crates/syntax/fuzz/Cargo.toml b/crates/syntax/fuzz/Cargo.toml new file mode 100644 index 00000000000..32c40d1b95c --- /dev/null +++ b/crates/syntax/fuzz/Cargo.toml @@ -0,0 +1,27 @@ + +[package] +name = "syntax-fuzz" +version = "0.0.1" +authors = ["rust-analyzer developers"] +publish = false +edition = "2018" + +[package.metadata] +cargo-fuzz = true + +[dependencies] +syntax = { path = ".." } +text_edit = { path = "../../text_edit" } +libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer-sys.git" } + +# Prevent this from interfering with workspaces +[workspace] +members = ["."] + +[[bin]] +name = "parser" +path = "fuzz_targets/parser.rs" + +[[bin]] +name = "reparse" +path = "fuzz_targets/reparse.rs" diff --git a/crates/syntax/fuzz/fuzz_targets/parser.rs b/crates/syntax/fuzz/fuzz_targets/parser.rs new file mode 100644 index 00000000000..386768343bd --- /dev/null +++ b/crates/syntax/fuzz/fuzz_targets/parser.rs @@ -0,0 +1,11 @@ +//! FIXME: write short doc here + +#![no_main] +use libfuzzer_sys::fuzz_target; +use syntax::fuzz::check_parser; + +fuzz_target!(|data: &[u8]| { + if let Ok(text) = std::str::from_utf8(data) { + check_parser(text) + } +}); diff --git a/crates/syntax/fuzz/fuzz_targets/reparse.rs b/crates/syntax/fuzz/fuzz_targets/reparse.rs new file mode 100644 index 00000000000..5ac99fdafdf --- /dev/null +++ b/crates/syntax/fuzz/fuzz_targets/reparse.rs @@ -0,0 +1,11 @@ +//! FIXME: write short doc here + +#![no_main] +use libfuzzer_sys::fuzz_target; +use syntax::fuzz::CheckReparse; + +fuzz_target!(|data: &[u8]| { + if let Some(check) = CheckReparse::from_data(data) { + check.run(); + } +}); |
