Skip to content

Commit a9ca741

Browse files
Bryan C. Millsgopherbot
Bryan C. Mills
authored andcommitted
net/http: deflake TestServerCancelsReadHeaderTimeoutWhenIdle
Return errors instead of calling t.Fatalf for timing-sensitive failure modes. Scale the Sleep call to the timeout (so that it isn't too short for the longer durations). Fixes #54891. Change-Id: I574e85e121becdda9ab8ee6bfd37c18a549d366d Reviewed-on: https://go-review.googlesource.com/c/go/+/430955 Reviewed-by: Joel Sing <[email protected]> Run-TryBot: Bryan Mills <[email protected]> Reviewed-by: Damien Neil <[email protected]> Auto-Submit: Bryan Mills <[email protected]> TryBot-Result: Gopher Robot <[email protected]>
1 parent 2addbf3 commit a9ca741

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/net/http/serve_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5872,23 +5872,23 @@ func TestServerCancelsReadHeaderTimeoutWhenIdle(t *testing.T) {
58725872
defer conn.Close()
58735873

58745874
if _, err := conn.Write([]byte("GET / HTTP/1.1\r\nHost: e.com\r\n\r\n")); err != nil {
5875-
t.Fatalf("writing first request failed: %v", err)
5875+
return fmt.Errorf("writing first request failed: %v", err)
58765876
}
58775877

58785878
if _, err := ReadResponse(br, nil); err != nil {
5879-
t.Fatalf("first response (before timeout) failed: %v", err)
5879+
return fmt.Errorf("first response (before timeout) failed: %v", err)
58805880
}
58815881

58825882
// wait for longer than the server's ReadHeaderTimeout, and then send
58835883
// another request
5884-
time.Sleep(timeout + 10*time.Millisecond)
5884+
time.Sleep(timeout * 3 / 2)
58855885

58865886
if _, err := conn.Write([]byte("GET / HTTP/1.1\r\nHost: e.com\r\n\r\n")); err != nil {
5887-
t.Fatalf("writing second request failed: %v", err)
5887+
return fmt.Errorf("writing second request failed: %v", err)
58885888
}
58895889

58905890
if _, err := ReadResponse(br, nil); err != nil {
5891-
t.Fatalf("second response (after timeout) failed: %v", err)
5891+
return fmt.Errorf("second response (after timeout) failed: %v", err)
58925892
}
58935893

58945894
return nil

0 commit comments

Comments
 (0)