Skip to content

Commit 7935de1

Browse files
authored
Fix flaky AsyncAwaitEndToEndTests.testImmediateDeadline test (#698)
1 parent df66c67 commit 7935de1

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

Tests/AsyncHTTPClientTests/AsyncAwaitEndToEndTests.swift

+8-4
Original file line numberDiff line numberDiff line change
@@ -389,8 +389,10 @@ final class AsyncAwaitEndToEndTests: XCTestCase {
389389
guard let error = error as? HTTPClientError else {
390390
return XCTFail("unexpected error \(error)")
391391
}
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)")
394396
}
395397
}
396398
}
@@ -412,8 +414,10 @@ final class AsyncAwaitEndToEndTests: XCTestCase {
412414
guard let error = error as? HTTPClientError else {
413415
return XCTFail("unexpected error \(error)")
414416
}
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)")
417421
}
418422
}
419423
}

0 commit comments

Comments
 (0)