Skip to content

Commit

Permalink
[release-branch.go1.13] net/http: remove TestTimeoutHandlerAndFlusher…
Browse files Browse the repository at this point in the history
… due to flakes

Removes TestTimeoutHandlerAndFlusher due to flakes on
one of the builders due to timing issues.

Perhaps later, we might need to bring it back when we've
figured out the timing issues.

Updates #34573
Fixes #34579

Change-Id: Ia88d4da31fb228296144dc31f9a4288167fb4a53
Reviewed-on: https://go-review.googlesource.com/c/go/+/197757
Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
(cherry picked from commit 5573885)
Reviewed-on: https://go-review.googlesource.com/c/go/+/197719
Run-TryBot: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
  • Loading branch information
odeke-em authored and Bryan C. Mills committed Sep 27, 2019
1 parent de96471 commit 0c07603
Showing 1 changed file with 0 additions and 48 deletions.
48 changes: 0 additions & 48 deletions src/net/http/serve_test.go
Expand Up @@ -6161,54 +6161,6 @@ func TestUnsupportedTransferEncodingsReturn501(t *testing.T) {
}
}

// Issue 34439: ensure that TimeoutHandler doesn't implement Flusher
// and that any interaction with Flusher won't affect TimeoutHandler's behavior.
func TestTimeoutHandlerAndFlusher(t *testing.T) {
timeout := 50 * time.Millisecond

handler := HandlerFunc(func(w ResponseWriter, r *Request) {
w.WriteHeader(StatusTeapot)
w.Write([]byte("line1\n"))
fl, ok := w.(Flusher)
if ok {
fl.Flush()
}
time.Sleep(timeout * 2)
w.Write([]byte("line2\n"))
})

cst := httptest.NewUnstartedServer(TimeoutHandler(handler, timeout, "TIMED OUT\n"))
// Provide a logger that will report an error on any superfluous log.
cst.Config.ErrorLog = log.New(&errorOnWrite{t: t}, "", 0)
cst.Start()
defer cst.Close()

res, err := cst.Client().Get(cst.URL)
if err != nil {
t.Fatal(err)
}
defer res.Body.Close()

if g, w := res.StatusCode, StatusServiceUnavailable; g != w {
t.Errorf("Status code mismatch\ngot: %d\nwant: %d", g, w)
}

slurp, _ := ioutil.ReadAll(res.Body)
if g, w := string(slurp), "TIMED OUT\n"; g != w {
t.Fatalf("Body mismatch\ngot: %q\nwant: %q", g, w)
}
}

// errorOnWrite will invoke t.Error on any attempted write.
type errorOnWrite struct {
t *testing.T
}

func (ew *errorOnWrite) Write(b []byte) (int, error) {
ew.t.Errorf("Unexpected write: %s\n", b)
return len(b), nil
}

// fetchWireResponse is a helper for dialing to host,
// sending http1ReqBody as the payload and retrieving
// the response as it was sent on the wire.
Expand Down

0 comments on commit 0c07603

Please sign in to comment.