diff options
author | Michael Fraenkel <michael.fraenkel@gmail.com> | 2021-05-13 09:41:45 -0600 |
---|---|---|
committer | Damien Neil <dneil@google.com> | 2021-05-14 16:42:01 +0000 |
commit | 3d324f127dbb916f38d7476e9c4ff106e5d54f99 (patch) | |
tree | a72b41d9dfa6661a64ed1686f700b2e59519b57c | |
parent | 0eb38f2b164ec5b0094c5895cfe1b3a40c183d50 (diff) | |
download | go-3d324f127dbb916f38d7476e9c4ff106e5d54f99.tar.gz go-3d324f127dbb916f38d7476e9c4ff106e5d54f99.zip |
net/http: prevent infinite wait during TestMissingStatusNoPanic
If the client request never makes it to the server, the outstanding
accept is never broken. Change the test to always close the listening
socket when the client request completes.
Updates #45358
Change-Id: I744a91dfa11704e7e528163d7669c394e90456dc
Reviewed-on: https://go-review.googlesource.com/c/go/+/319275
Trust: Heschi Kreinick <heschi@google.com>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
-rw-r--r-- | src/net/http/transport_test.go | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/net/http/transport_test.go b/src/net/http/transport_test.go index 5b6a5aa992..dcaacece61 100644 --- a/src/net/http/transport_test.go +++ b/src/net/http/transport_test.go @@ -5322,7 +5322,6 @@ func TestMissingStatusNoPanic(t *testing.T) { ln := newLocalListener(t) addr := ln.Addr().String() - shutdown := make(chan bool, 1) done := make(chan bool) fullAddrURL := fmt.Sprintf("http://%s", addr) raw := "HTTP/1.1 400\r\n" + @@ -5334,10 +5333,7 @@ func TestMissingStatusNoPanic(t *testing.T) { "Aloha Olaa" go func() { - defer func() { - ln.Close() - close(done) - }() + defer close(done) conn, _ := ln.Accept() if conn != nil { @@ -5368,7 +5364,7 @@ func TestMissingStatusNoPanic(t *testing.T) { t.Errorf("got=%v want=%q", err, want) } - close(shutdown) + ln.Close() <-done } |