@@ -389,8 +389,10 @@ final class AsyncAwaitEndToEndTests: XCTestCase {
389
389
guard let error = error as? HTTPClientError else {
390
390
return XCTFail ( " unexpected error \( error) " )
391
391
}
392
- // a race between deadline and connect timer can result in either error
393
- XCTAssertTrue ( [ . deadlineExceeded, . connectTimeout] . contains ( error) )
392
+ // a race between deadline and connect timer can result in either error.
393
+ // If closing happens really fast we might shutdown the pipeline before we fail the request.
394
+ // If the pipeline is closed we may receive a `.remoteConnectionClosed`.
395
+ XCTAssertTrue ( [ . deadlineExceeded, . connectTimeout, . remoteConnectionClosed] . contains ( error) , " unexpected error \( error) " )
394
396
}
395
397
}
396
398
}
@@ -412,8 +414,10 @@ final class AsyncAwaitEndToEndTests: XCTestCase {
412
414
guard let error = error as? HTTPClientError else {
413
415
return XCTFail ( " unexpected error \( error) " )
414
416
}
415
- // a race between deadline and connect timer can result in either error
416
- XCTAssertTrue ( [ . deadlineExceeded, . connectTimeout] . contains ( error) , " unexpected error \( error) " )
417
+ // a race between deadline and connect timer can result in either error.
418
+ // If closing happens really fast we might shutdown the pipeline before we fail the request.
419
+ // If the pipeline is closed we may receive a `.remoteConnectionClosed`.
420
+ XCTAssertTrue ( [ . deadlineExceeded, . connectTimeout, . remoteConnectionClosed] . contains ( error) , " unexpected error \( error) " )
417
421
}
418
422
}
419
423
}
0 commit comments