Skip to content

test: catch every transport error in the docker health check - #3698

Merged
benoitc merged 1 commit into
masterfrom
fix/docker-health-check-readerror
Aug 18, 2026
Merged

test: catch every transport error in the docker health check#3698
benoitc merged 1 commit into
masterfrom
fix/docker-health-check-readerror

Conversation

@benoitc

@benoitc benoitc commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Follow-up to the docker harness work in #3693, which fixed the wrong half of
this.

Running the framework-compat suite cold gave 438 errors in 15 seconds. The
readiness timeout I raised there never came into play: the fixture caught only
ConnectError and TimeoutException, and a container sitting behind a
bound-but-not-ready Docker port proxy resets the connection, which httpx raises
as ReadError. That escaped the handler and took the fixture down before any
waiting happened.

httpx.RequestError is the base of every transport failure, so it covers the
reset as well as the cases already handled. The other two docker conftests catch
OSError, which already includes connection resets, which is why
asgi_compliance passed cold while this one did not.

Cold run with containers torn down first: 438 passed, 6 skipped.

The framework-compat fixture caught only ConnectError and
TimeoutException. A container behind a bound-but-not-ready Docker port
proxy resets the connection, which httpx raises as ReadError, so it
escaped the handler and killed the fixture outright: 438 errors in 15
seconds, without the readiness timeout ever running.

httpx.RequestError is the base of every transport failure. The other two
docker conftests already catch OSError and were unaffected.
@benoitc
benoitc merged commit 71b59a7 into master Aug 18, 2026
30 of 31 checks passed
@benoitc
benoitc deleted the fix/docker-health-check-readerror branch August 18, 2026 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant