fix(pdftract-1psmn): fix mmap test compilation errors
- Add std::sync::Arc import for thread sharing - Fix lifetime issue in test_sync_multiple_threads using Arc - Add mut to source in test_empty_file for Read trait All FileSource tests pass (12/12). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
a2da014936
commit
823712d65c
2 changed files with 11 additions and 5 deletions
|
|
@ -177,6 +177,7 @@ mod tests {
|
|||
use super::*;
|
||||
use std::fs;
|
||||
use std::io::Write;
|
||||
use std::sync::Arc;
|
||||
use std::thread;
|
||||
use tempfile::NamedTempFile;
|
||||
|
||||
|
|
@ -335,14 +336,14 @@ mod tests {
|
|||
let content = b"0123456789";
|
||||
temp_file.write_all(content).unwrap();
|
||||
|
||||
let source = MmapSource::open(temp_file.path()).unwrap();
|
||||
let source = Arc::new(MmapSource::open(temp_file.path()).unwrap());
|
||||
|
||||
// Spawn multiple threads reading concurrently
|
||||
let handles: Vec<_> = (0..4)
|
||||
.map(|i| {
|
||||
let source_ref = &source;
|
||||
let source_clone = Arc::clone(&source);
|
||||
thread::spawn(move || {
|
||||
let bytes = source_ref.read_range(i as u64, 2).unwrap();
|
||||
let bytes = source_clone.read_range(i as u64, 2).unwrap();
|
||||
bytes.to_vec()
|
||||
})
|
||||
})
|
||||
|
|
@ -434,7 +435,7 @@ mod tests {
|
|||
#[test]
|
||||
fn test_empty_file() {
|
||||
let temp_file = NamedTempFile::new().unwrap();
|
||||
let source = MmapSource::open(temp_file.path()).unwrap();
|
||||
let mut source = MmapSource::open(temp_file.path()).unwrap();
|
||||
assert_eq!(source.len(), 0);
|
||||
|
||||
let mut buf = [0u8; 10];
|
||||
|
|
|
|||
|
|
@ -25,7 +25,12 @@ Implemented FileSource as a PdfSource fallback for when memory-mapping is not av
|
|||
- `test_large_file`: Handles 100KB file
|
||||
- `test_read_mixed_with_seek`: Tests mixed read/seek operations
|
||||
|
||||
### 2. crates/pdftract-core/Cargo.toml
|
||||
### 2. crates/pdftract-core/src/source/mmap.rs (test fixes)
|
||||
- Added `std::sync::Arc` import for thread sharing
|
||||
- Fixed lifetime issue in `test_sync_multiple_threads` by using Arc instead of `&source`
|
||||
- Added `mut` to source in `test_empty_file` for Read trait compatibility
|
||||
|
||||
### 3. crates/pdftract-core/Cargo.toml
|
||||
- Added `parking_lot = "0.12"` dependency
|
||||
|
||||
## Acceptance Criteria
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue