Merged
Conversation
Cover basic methods (GET, POST), content-encoding (gzip, brotli), redirection (301,308), not found (404), out-of-range, timeout (darwin-specific) and a basic stress test
Also use predefined header names instead of manual initialization.
Disable non-functional tests, rename tests, remove unnecessary assertions
This test currently causes a crash, but will be fixed in a separate commit.
This one focuses on hang after getting the response headers, but no body
`HTTPServer` -> `HTTPServerForTesting` `httpClient` -> `HTTP` `AsyncWriter.writeAndConclude` -> `AsyncWriter.write` `RedirectionHandler` -> `Options.redirectionHandlerClosure`
WIthout this, Xcode complains that the server is only available on 26.2 or later.
It's only testing Darwin-specific behavior and we have no ability to set a timeout currently.
Use camelCast instead of snake_case
Use “stall” instead of “hang”
This reverts commit fb448c5.
guoye-zhang
reviewed
Feb 2, 2026
guoye-zhang
reviewed
Feb 2, 2026
guoye-zhang
reviewed
Feb 2, 2026
guoye-zhang
reviewed
Feb 2, 2026
guoye-zhang
reviewed
Feb 2, 2026
Store server task and cancel it on deinit. Parameterize on HTTP methods for the OK 200 test
Client can request an encoding that is not supported by the server. The server is allowed to fallback to no encoding (identity), which the client must also handle.
We don't want to enforce brotli support in the client, but we also don’t have a way to query for support from the client implementation such that we can conditionally enable the brotli test. Disabling until we get an answer for this.
Rather than enforcing that a client should support specific content-encodings, if the client does not specify the expected encoding, then the server will give the body in plaintext, causing the test to pass.
guoye-zhang
approved these changes
Feb 3, 2026
Contributor
guoye-zhang
left a comment
There was a problem hiding this comment.
Looks fine other than a few nits
We use `withKnownIssue` to mark a test as “failed but still OK” if we see that the Content-Encoding is “identity” or not present.
travarin
approved these changes
Feb 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added the following tests:
Added these tests as well, but they currently hang/crash, so they have been temporarily disabled: