Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

http-io-streams test failure #7644

Open
mihaimaruseac opened this issue Jan 3, 2025 · 6 comments
Open

http-io-streams test failure #7644

mihaimaruseac opened this issue Jan 3, 2025 · 6 comments

Comments

@mihaimaruseac
Copy link
Contributor

           Opening a connection                                                                                                                                                                                     
             properly caches hostname and port [✘]                                                                                                                                                                  
           Request, when serialized                                                                                                                                                                                 
             has a properly formatted request line [✔]                                                                                                                                                              
             handles empty request path [✔]                                                                                                                                                                         
             terminates with a blank line [✘]
             has a properly formatted Host header [✔]
             properly formats Accept header [✔]
             properly formats Authorization header [✔]
           Parsing responses
             parses a simple 200 response [✔]
             parses response when HTTP version doesn't match [✔]
             handles padded Content-Length [✔]
             recognizes chunked transfer encoding and decodes [✘]
             recognzies fixed length message [✘]
             doesn't choke if server neglects Content-Length [✔]
             reads body without Content-Length or Transfer-Encoding [✔]
             handles 204 No Content response without Content-Length [✔]
             recognizes gzip content encoding and decompresses [✘]
             repeated response headers are properly concatonated [✘]
           Expectation handling
             sends expectation and handles 100 response [✘]
           Convenience API
             PUT correctly chunks known size entity body [✘]
             POST correctly chunks a fileBody [✘]
             POST with form data correctly encodes parameters [✘]
             GET internal handler follows redirect on 307 [✘]
             check splitURI for local redirects [✔]
             GET internal handler follows local redirect on 307 [✘]
             GET includes a properly formatted request path [✘]
             too many redirects result in an exception [✘]
             GET with general purpose handler throws exception on 404 [✘]
             public establish function behaves correctly [✘]
           Corner cases in protocol compliance
             Sends a request body for PUT [✘]
             Sends a request body for DELETE [✘]
             Sends a request body for PATCH [✘]

Unsure what changed but with latest nightly we're seeing these failures. Will mark tests as expected to fail.

CC @andreasabel

mihaimaruseac added a commit that referenced this issue Jan 3, 2025
Signed-off-by: Mihai Maruseac <[email protected]>
@andreasabel
Copy link
Contributor

I am also seeing these in the CI: E.g. https://github.com/haskell-hvr/http-io-streams/actions/runs/12582552298/job/35068402844?pr=20

Opening a connection properly caches hostname and port
uncaught exception: IOException of type NoSuchThing
Network.Socket.connect: <socket: 7>: does not exist (Connection refused)

@andreasabel
Copy link
Contributor

Locally on my machine the tests run fine, so maybe it is a case of tightened permissions in the github action runners.
@mihaimaruseac Where (on what machines) does stackage run the tests?

@mihaimaruseac
Copy link
Contributor Author

It's running on a docker image, built from https://github.com/commercialhaskell/stackage/blob/master/Dockerfile.

See https://github.com/commercialhaskell/stackage/actions/runs/12231107228 for the last version of the image

@andreasabel
Copy link
Contributor

On a different CI, the tests succeed: https://github.com/haskell-hvr/http-io-streams/actions/runs/12655700933/job/35266609463?pr=20#step:11:11

So it is certainly not http-io-streams itself to be blamed, must be in the test environment(s).

@mihaimaruseac
Copy link
Contributor Author

I was seeing the failure on 3 consecutive runs (I always rerun on test breakages).

If it is stable now, we can probably re-enable. I'm outside my duty week, but could still approve a PR (though will leave the current curator to merge)

@andreasabel
Copy link
Contributor

andreasabel commented Jan 7, 2025

If it is stable now, we can probably re-enable. I'm outside my duty week, but could still approve a PR (though will leave the current curator to merge)

Probably not, since we have not found the cause of failure.
I haven't changed any byte of the http-io-streams library.

Upstream issue:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants