diff options
author | Christian Murphy <christian.murphy.42@gmail.com> | 2022-09-12 01:01:11 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-12 10:01:11 +0200 |
commit | 640c103c0a2b92f7f2a49cfc0721577f40aa90e0 (patch) | |
tree | 1359c8f4d5a6234fe59a44a3b91cdae87db29d4f /fuzz | |
parent | 1c9f0b21ac1bef17737731c2bb29d1d8dd98b2f3 (diff) | |
download | markdown-rs-640c103c0a2b92f7f2a49cfc0721577f40aa90e0.tar.gz markdown-rs-640c103c0a2b92f7f2a49cfc0721577f40aa90e0.tar.bz2 markdown-rs-640c103c0a2b92f7f2a49cfc0721577f40aa90e0.zip |
Add fuzz testing
Closes GH-7.
Diffstat (limited to 'fuzz')
-rw-r--r-- | fuzz/Cargo.toml | 25 | ||||
-rw-r--r-- | fuzz/fuzz_targets/micromark.rs | 16 |
2 files changed, 41 insertions, 0 deletions
diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml new file mode 100644 index 0000000..3c19003 --- /dev/null +++ b/fuzz/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "micromark-fuzz" +version = "0.0.0" +authors = ["Automatically generated"] +publish = false +edition = "2018" + +[package.metadata] +cargo-fuzz = true + +[dependencies] +libfuzzer-sys = "0.4" + +[dependencies.micromark] +path = ".." + +# Prevent this from interfering with workspaces +[workspace] +members = ["."] + +[[bin]] +name = "micromark" +path = "fuzz_targets/micromark.rs" +test = false +doc = false diff --git a/fuzz/fuzz_targets/micromark.rs b/fuzz/fuzz_targets/micromark.rs new file mode 100644 index 0000000..f4d2927 --- /dev/null +++ b/fuzz/fuzz_targets/micromark.rs @@ -0,0 +1,16 @@ +#![no_main] +use libfuzzer_sys::fuzz_target; +extern crate micromark; + +fuzz_target!(|data: &[u8]| { + if let Ok(s) = std::str::from_utf8(data) { + let _ = micromark::micromark(s); + let _ = micromark::micromark_with_options( + s, + µmark::Options { + constructs: micromark::Constructs::gfm(), + ..micromark::Options::default() + }, + ); + } +}); |