- Add test_extract_all_discovered_pdfs() function to forms_integration.rs - Use walkdir-based discover_pdf_fixtures() for recursive PDF discovery - Spawn pdftract extract --json process for each PDF and capture output - Print detailed status and output preview for debugging - Fix pdftract_bin() path resolution (workspace target dir) Closes bf-394lb. Verification: notes/bf-394lb.md. Tests: PASS (compiles, runs, no hangs).
44 lines
1.7 KiB
Markdown
44 lines
1.7 KiB
Markdown
# bf-394lb Verification Note
|
|
|
|
## Summary
|
|
Implemented basic test skeleton `test_extract_all_discovered_pdfs` that calls `pdftract extract --json` on discovered PDF fixtures.
|
|
|
|
## Implementation
|
|
- Added `test_extract_all_discovered_pdfs()` function to `tests/forms_integration.rs`
|
|
- Test uses the walkdir-based `discover_pdf_fixtures()` helper for recursive PDF discovery
|
|
- For each PDF, spawns `pdftract extract --json <file>` and captures stdout/stderr
|
|
- Prints detailed status and output preview for each processed file
|
|
- Counts and reports success/failure summary
|
|
|
|
## Bug Fix
|
|
Fixed path resolution bug in `pdftract_bin()` helper:
|
|
- Changed from `../target/debug/pdftract` to `../../target/debug/pdftract`
|
|
- Binary lives in workspace target directory, not relative to crate directory
|
|
- Path: `crates/pdftract-cli/` → `../../target/debug/` → `/home/coding/pdftract/target/debug/`
|
|
|
|
## Testing
|
|
```bash
|
|
cargo test --package pdftract-cli --test forms_integration test_extract_all_discovered_pdfs -- --nocapture
|
|
```
|
|
|
|
Result: PASS
|
|
- Test compiled and ran successfully
|
|
- No hangs or panics
|
|
- Gracefully handles empty fixtures directory
|
|
- Ready to process PDF fixtures when they are added
|
|
|
|
## Acceptance Criteria Status
|
|
- [x] Test function exists and compiles
|
|
- [x] Test calls `pdftract extract` for each discovered fixture
|
|
- [x] Test runs via `cargo test forms_integration`
|
|
- [x] No test hangs or panics
|
|
- [x] May have failures (PDF extraction errors) - that's OK for this step
|
|
|
|
## Files Modified
|
|
- `crates/pdftract-cli/tests/forms_integration.rs` (added test function, fixed pdftract_bin path)
|
|
|
|
## Commit
|
|
Commit will be made with:
|
|
```
|
|
test(bf-394lb): implement basic test skeleton calling pdftract extract
|
|
```
|