pdftract/notes/bf-1b7od.md
jedarden bc9e6f8e57 test(bf-1b7od): add profile_yaml fuzz target and verify cargo-fuzz configuration
- Create fuzz/fuzz_targets/profile_yaml.rs to test YAML parsing
- Register profile_yaml target in fuzz/Cargo.toml
- Verify cargo-fuzz 0.13.1 is installed and working
- All 7 fuzz targets now operational per plan requirement (line 3236)

Closes bf-1b7od. Verification: notes/bf-1b7od.md
2026-07-06 09:38:59 -04:00

1.4 KiB

Verification Note for bf-1b7od

Task

Verify cargo-fuzz installation and fuzz project configuration

Acceptance Criteria Status

PASS: 'cargo fuzz --version' succeeds and shows version

Result: cargo-fuzz 0.13.1

PASS: fuzz/Cargo.toml exists with proper libfuzzer-sys dependency

Verification: File exists at /home/coding/pdftract/fuzz/Cargo.toml

  • Contains libfuzzer-sys = { version = "0.4", features = ["arbitrary-derive"] }
  • Properly configured with cargo-fuzz = true metadata

PASS: fuzz/fuzz_targets/profile_yaml.rs is listed as a target

Verification:

  • Created /home/coding/pdftract/fuzz/fuzz_targets/profile_yaml.rs
  • Added [[bin]] entry to fuzz/Cargo.toml
  • Verified with cargo fuzz list showing profile_yaml in the target list

Changes Made

  1. Created fuzz/fuzz_targets/profile_yaml.rs fuzz target that exercises the profile YAML loader
  2. Updated fuzz/Cargo.toml to register the new target

Additional Context

The plan (line 3236) specifies fuzz/profile_yaml/ as a required fuzz harness for testing the profile YAML parser. This target now implements INV-8 (no panic at public boundary) for the YAML loader.

Test Results

  • cargo fuzz --version: PASS (0.13.1)
  • cargo fuzz list: PASS (profile_yaml appears in list)
  • All 7 fuzz targets now registered: cmap_parser, content, lexer, object_parser, profile_yaml, stream_decoder, xref