pdftract/crates
jedarden 0a83ef9d93 fix(pdftract-15prh): fix LRU eviction test with valid 64-char opts hashes
The test_eviction_sweep_performance test was using opts hashes with
a ":<i>" suffix (e.g., "9b21c0ff...:<i>"), which exceeded the 64-character
limit. This caused parse_opts_hash_from_filename to skip these entries
during enumeration, resulting in zero cache size and no eviction.

Fixed by generating valid 64-character hex opts hashes using the last
4 characters for the counter (format: "{}{:04x}", base_hash[:60], i)).

All 17 LRU tests now pass, including:
- test_eviction_sweep_performance: evicts 1000 entries (100 MB) down to 40 MB (80% of 50 MB limit)
- test_concurrent_touches: 100 threads, no garbled records
- test_touch_performance: 1000 touches in < 100 ms
- test_current_size_performance: enumerate 1000 entries in < 1 s
- test_sentinel_rotation: rotates at 10 MB threshold

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 05:25:07 -04:00
..
pdftract-cer-diff fix(pdftract-2t9): update regression-corpus step image and secret 2026-05-18 01:20:53 -04:00
pdftract-cli feat(pdftract-39g4j): implement --receipts CLI flag + ExtractionOptions threading 2026-05-23 04:27:36 -04:00
pdftract-core fix(pdftract-15prh): fix LRU eviction test with valid 64-char opts hashes 2026-05-23 05:25:07 -04:00
pdftract-py feat(pdftract-67tm8): implement MCP stdio transport with integration tests 2026-05-23 00:16:42 -04:00