http2: fix flake in TestServer_Push_StateTransitions
I believe there were two bugs, both fixed by this CL. * Previously, we checked stateHalfClosedRemote before waiting for the PUSH_PROMISE. However, the pushed stream is not created until the promise is written, so the stream may not have started yet, which means we'd see stateIdle instead of stateHalfClosedRemote. * The push reponse handler cannot write the response until after we check the pushed stream state. Otherwise, the response might finish just before we check the stream state and we'll see stateClosed instead of stateHalfClosedRemote. Test passes with -count 1000. Fixes golang/go#18559 Change-Id: I61f62635957e061fba905a41dcb15cd4e563031a Reviewed-on: https://go-review.googlesource.com/34984 TryBot-Result: Gobot Gobot <gobot@golang.org> Run-TryBot: Tom Bergan <tombergan@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Showing
Please
register
or
sign in
to comment