build: intergrate fuzz crate into workspace

This makes `fuzz` use the same lockfile
as the rest of the crates
and makes sure it fuzzes the same versions
of dependencies, e.g. `mailparse`.
This commit is contained in:
link2xt
2025-03-09 02:17:19 +00:00
parent 491d6abe49
commit d69db8f336
8 changed files with 112 additions and 7088 deletions

7049
fuzz/Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -3,28 +3,21 @@ name = "deltachat-fuzz"
version = "0.0.0"
publish = false
edition = "2021"
license = "MPL-2.0"
[dev-dependencies]
bolero = "0.8"
[dependencies]
mailparse = "0.16"
mailparse = { workspace = true }
deltachat = { path = ".." }
format-flowed = { path = "../format-flowed" }
[workspace]
members = ["."]
[[test]]
name = "fuzz_dateparse"
path = "fuzz_targets/fuzz_dateparse.rs"
harness = false
[[test]]
name = "fuzz_simplify"
path = "fuzz_targets/fuzz_simplify.rs"
harness = false
[[test]]
name = "fuzz_mailparse"
path = "fuzz_targets/fuzz_mailparse.rs"

View File

@@ -9,7 +9,7 @@ fn round_trip(input: &str) -> String {
fn main() {
check!().for_each(|data: &[u8]| {
if let Ok(input) = std::str::from_utf8(data.into()) {
if let Ok(input) = std::str::from_utf8(data) {
let input = input.trim().to_string();
// Only consider inputs that are the result of unformatting format=flowed text.

View File

@@ -1,13 +0,0 @@
use bolero::check;
use deltachat::fuzzing::simplify;
fn main() {
check!().for_each(|data: &[u8]| match String::from_utf8(data.to_vec()) {
Ok(input) => {
simplify(input.clone(), true);
simplify(input, false);
}
Err(_err) => {}
});
}