@@ -357,8 +357,12 @@ final class AsyncAwaitEndToEndTests: XCTestCase {
357
357
let task = Task < HTTPClientResponse , Error > { [ request] in
358
358
try await client. execute ( request, deadline: . now( ) + . milliseconds( 100 ) , logger: logger)
359
359
}
360
- await XCTAssertThrowsError ( try await task. value) {
361
- XCTAssertEqual ( $0 as? HTTPClientError , HTTPClientError . deadlineExceeded)
360
+ await XCTAssertThrowsError ( try await task. value) { error in
361
+ guard let error = error as? HTTPClientError else {
362
+ return XCTFail ( " unexpected error \( error) " )
363
+ }
364
+ // a race between deadline and connect timer can result in either error
365
+ XCTAssertTrue ( [ . deadlineExceeded, . connectTimeout] . contains ( error) )
362
366
}
363
367
}
364
368
#endif
@@ -378,8 +382,12 @@ final class AsyncAwaitEndToEndTests: XCTestCase {
378
382
let task = Task < HTTPClientResponse , Error > { [ request] in
379
383
try await client. execute ( request, deadline: . now( ) , logger: logger)
380
384
}
381
- await XCTAssertThrowsError ( try await task. value) {
382
- XCTAssertEqual ( $0 as? HTTPClientError , HTTPClientError . deadlineExceeded)
385
+ await XCTAssertThrowsError ( try await task. value) { error in
386
+ guard let error = error as? HTTPClientError else {
387
+ return XCTFail ( " unexpected error \( error) " )
388
+ }
389
+ // a race between deadline and connect timer can result in either error
390
+ XCTAssertTrue ( [ . deadlineExceeded, . connectTimeout] . contains ( error) )
383
391
}
384
392
}
385
393
#endif
0 commit comments