Handle native Mac extraction worker exit races

This commit is contained in:
karl committed 2026-10-23 09:49:17 +02:00
1 parent dd589e88ae
commit feec06bc41
3 files changed
+44 -27

No files matched your search

@@ -30,15 +30,24 @@ fn actual_parent_and_worker_return_original_docx_passage_and_digest() {
let input = document.finish().unwrap().into_inner();
let request = RequestHeader::from_bytes(DocumentFormat::Docx, &input).unwrap();
let expected_hash = request.input_sha256.clone();
let response = run(&config(), request, input, &AtomicBool::new(false)).unwrap();
assert_eq!(response.input_sha256, expected_hash);
let ExtractionOutcome::Extracted { passages } = response.outcome else {
panic!("Valid document rejected");
};
assert_eq!(passages.len(), 1);
assert_eq!(passages[0].text, "Cancel with sixty days written notice.");
assert_eq!(passages[0].source.kind, "paragraph");
assert_eq!(passages[0].source.number, 1);
// Exercise short-lived native worker exit/task-inspection races too.
for _ in 0..10 {
let response = run(
&config(),
request.clone(),
input.clone(),
&AtomicBool::new(false),
)
.unwrap();
assert_eq!(response.input_sha256, expected_hash);
let ExtractionOutcome::Extracted { passages } = response.outcome else {
panic!("Valid document rejected");
};
assert_eq!(passages.len(), 1);
assert_eq!(passages[0].text, "Cancel with sixty days written notice.");
assert_eq!(passages[0].source.kind, "paragraph");
assert_eq!(passages[0].source.number, 1);
}
}
#[test]