Skip to content

Commit 1092257

Browse files
odeke-embradfitz
authored andcommitted
net/http: zeroLengthPostAndResponse test now in http2 mode
Change-Id: I282a399657c71f7b6406fcdde8afc82a13bdfe5f Reviewed-on: https://go-review.googlesource.com/17530 Run-TryBot: Brad Fitzpatrick <[email protected]> TryBot-Result: Gobot Gobot <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]>
1 parent 10d1d5b commit 1092257

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

src/net/http/serve_test.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1825,9 +1825,16 @@ func TestRedirectBadPath(t *testing.T) {
18251825
// connection immediately. But when it re-uses the connection, it typically closes
18261826
// the previous request's body, which is not optimal for zero-lengthed bodies,
18271827
// as the client would then see http.ErrBodyReadAfterClose and not 0, io.EOF.
1828-
func TestZeroLengthPostAndResponse(t *testing.T) {
1828+
func TestZeroLengthPostAndResponse_h1(t *testing.T) {
1829+
testZeroLengthPostAndResponse(t, false)
1830+
}
1831+
func TestZeroLengthPostAndResponse_h2(t *testing.T) {
1832+
testZeroLengthPostAndResponse(t, true)
1833+
}
1834+
1835+
func testZeroLengthPostAndResponse(t *testing.T, h2 bool) {
18291836
defer afterTest(t)
1830-
ts := httptest.NewServer(HandlerFunc(func(rw ResponseWriter, r *Request) {
1837+
cst := newClientServerTest(t, h2, HandlerFunc(func(rw ResponseWriter, r *Request) {
18311838
all, err := ioutil.ReadAll(r.Body)
18321839
if err != nil {
18331840
t.Fatalf("handler ReadAll: %v", err)
@@ -1837,17 +1844,17 @@ func TestZeroLengthPostAndResponse(t *testing.T) {
18371844
}
18381845
rw.Header().Set("Content-Length", "0")
18391846
}))
1840-
defer ts.Close()
1847+
defer cst.close()
18411848

1842-
req, err := NewRequest("POST", ts.URL, strings.NewReader(""))
1849+
req, err := NewRequest("POST", cst.ts.URL, strings.NewReader(""))
18431850
if err != nil {
18441851
t.Fatal(err)
18451852
}
18461853
req.ContentLength = 0
18471854

18481855
var resp [5]*Response
18491856
for i := range resp {
1850-
resp[i], err = DefaultClient.Do(req)
1857+
resp[i], err = cst.c.Do(req)
18511858
if err != nil {
18521859
t.Fatalf("client post #%d: %v", i, err)
18531860
}

0 commit comments

Comments
 (0)