From a1c187eef3ba08076aedb5154929f7eda8d1b424 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 12 Aug 2020 18:26:51 +0200 Subject: Rename ra_syntax -> syntax --- crates/syntax/fuzz/.gitignore | 4 ++++ crates/syntax/fuzz/Cargo.toml | 27 +++++++++++++++++++++++++++ crates/syntax/fuzz/fuzz_targets/parser.rs | 11 +++++++++++ crates/syntax/fuzz/fuzz_targets/reparse.rs | 11 +++++++++++ 4 files changed, 53 insertions(+) create mode 100644 crates/syntax/fuzz/.gitignore create mode 100644 crates/syntax/fuzz/Cargo.toml create mode 100644 crates/syntax/fuzz/fuzz_targets/parser.rs create mode 100644 crates/syntax/fuzz/fuzz_targets/reparse.rs (limited to 'crates/syntax/fuzz') diff --git a/crates/syntax/fuzz/.gitignore b/crates/syntax/fuzz/.gitignore new file mode 100644 index 000000000..f734abd49 --- /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 000000000..32c40d1b9 --- /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 000000000..386768343 --- /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 000000000..5ac99fdaf --- /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(); + } +}); -- cgit v1.2.3