Handle native Mac extraction worker exit races
This commit is contained in:
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]
|
||||
|
||||
Reference in new issue
Block a user