diff options
Diffstat (limited to 'src/tools/rust-analyzer/crates/syntax/fuzz/fuzz_targets')
-rw-r--r-- | src/tools/rust-analyzer/crates/syntax/fuzz/fuzz_targets/parser.rs | 11 | ||||
-rw-r--r-- | src/tools/rust-analyzer/crates/syntax/fuzz/fuzz_targets/reparse.rs | 11 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/tools/rust-analyzer/crates/syntax/fuzz/fuzz_targets/parser.rs b/src/tools/rust-analyzer/crates/syntax/fuzz/fuzz_targets/parser.rs new file mode 100644 index 000000000..f80e13002 --- /dev/null +++ b/src/tools/rust-analyzer/crates/syntax/fuzz/fuzz_targets/parser.rs @@ -0,0 +1,11 @@ +//! Fuzzing for from-scratch parsing. + +#![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/src/tools/rust-analyzer/crates/syntax/fuzz/fuzz_targets/reparse.rs b/src/tools/rust-analyzer/crates/syntax/fuzz/fuzz_targets/reparse.rs new file mode 100644 index 000000000..f865ce8d6 --- /dev/null +++ b/src/tools/rust-analyzer/crates/syntax/fuzz/fuzz_targets/reparse.rs @@ -0,0 +1,11 @@ +//! Fuzzing for incremental parsing. + +#![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(); + } +}); |