Skip to content

Commit

Permalink
net/http: deflake TestServerCancelsReadHeaderTimeoutWhenIdle
Browse files Browse the repository at this point in the history
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]>
  • Loading branch information
Bryan C. Mills authored and gopherbot committed Sep 16, 2022
1 parent 2addbf3 commit a9ca741
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions src/net/http/serve_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5872,23 +5872,23 @@ func TestServerCancelsReadHeaderTimeoutWhenIdle(t *testing.T) {
defer conn.Close()

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

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

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

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

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

return nil
Expand Down

0 comments on commit a9ca741

Please sign in to comment.