diff options
author | Aleksey Kladov <[email protected]> | 2020-08-12 17:26:51 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2020-08-12 17:30:53 +0100 |
commit | a1c187eef3ba08076aedb5154929f7eda8d1b424 (patch) | |
tree | 9d898eb9600b0c36a74e4f95238f679c683fa566 /crates/syntax/fuzz | |
parent | 3d6889cba72a9d02199f7adaa2ecc69bc30af834 (diff) |
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 000000000..f734abd49 --- /dev/null +++ b/crates/syntax/fuzz/.gitignore | |||
@@ -0,0 +1,4 @@ | |||
1 | Cargo.lock | ||
2 | target | ||
3 | corpus | ||
4 | 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 @@ | |||
1 | |||
2 | [package] | ||
3 | name = "syntax-fuzz" | ||
4 | version = "0.0.1" | ||
5 | authors = ["rust-analyzer developers"] | ||
6 | publish = false | ||
7 | edition = "2018" | ||
8 | |||
9 | [package.metadata] | ||
10 | cargo-fuzz = true | ||
11 | |||
12 | [dependencies] | ||
13 | syntax = { path = ".." } | ||
14 | text_edit = { path = "../../text_edit" } | ||
15 | libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer-sys.git" } | ||
16 | |||
17 | # Prevent this from interfering with workspaces | ||
18 | [workspace] | ||
19 | members = ["."] | ||
20 | |||
21 | [[bin]] | ||
22 | name = "parser" | ||
23 | path = "fuzz_targets/parser.rs" | ||
24 | |||
25 | [[bin]] | ||
26 | name = "reparse" | ||
27 | 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 @@ | |||
1 | //! FIXME: write short doc here | ||
2 | |||
3 | #![no_main] | ||
4 | use libfuzzer_sys::fuzz_target; | ||
5 | use syntax::fuzz::check_parser; | ||
6 | |||
7 | fuzz_target!(|data: &[u8]| { | ||
8 | if let Ok(text) = std::str::from_utf8(data) { | ||
9 | check_parser(text) | ||
10 | } | ||
11 | }); | ||
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 @@ | |||
1 | //! FIXME: write short doc here | ||
2 | |||
3 | #![no_main] | ||
4 | use libfuzzer_sys::fuzz_target; | ||
5 | use syntax::fuzz::CheckReparse; | ||
6 | |||
7 | fuzz_target!(|data: &[u8]| { | ||
8 | if let Some(check) = CheckReparse::from_data(data) { | ||
9 | check.run(); | ||
10 | } | ||
11 | }); | ||