Fuzz harness executed successfully: - No crashes or panics on startup - Process ran for full 0.5-second duration - Coverage expanded from 124 to 518+ edges - Generated 203+ test cases from empty corpus - Clean exit via timeout (expected) Verification: notes/bf-1bpzw.md Acceptance criteria: PASS (all 4 criteria met)
45 lines
850 B
TOML
45 lines
850 B
TOML
[package]
|
|
name = "pdftract-fuzz"
|
|
version = "0.0.0"
|
|
edition = "2021"
|
|
license = "MIT OR Apache-2.0"
|
|
publish = false
|
|
|
|
[package.metadata]
|
|
cargo-fuzz = true
|
|
|
|
[dependencies]
|
|
pdftract-core = { path = "../crates/pdftract-core", features = ["profiles"] }
|
|
libfuzzer-sys = { version = "0.4", features = ["arbitrary-derive"] }
|
|
|
|
# Prevent this from interfering with the workspace library
|
|
[workspace]
|
|
members = ["."]
|
|
|
|
[[bin]]
|
|
name = "lexer"
|
|
path = "fuzz_targets/lexer.rs"
|
|
|
|
[[bin]]
|
|
name = "object_parser"
|
|
path = "fuzz_targets/object_parser.rs"
|
|
|
|
[[bin]]
|
|
name = "xref"
|
|
path = "fuzz_targets/xref.rs"
|
|
|
|
[[bin]]
|
|
name = "stream_decoder"
|
|
path = "fuzz_targets/stream_decoder.rs"
|
|
|
|
[[bin]]
|
|
name = "cmap_parser"
|
|
path = "fuzz_targets/cmap_parser.rs"
|
|
|
|
[[bin]]
|
|
name = "content"
|
|
path = "fuzz_targets/content.rs"
|
|
|
|
[[bin]]
|
|
name = "profile_yaml"
|
|
path = "fuzz_targets/profile_yaml.rs"
|