aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Fraenkel <michael.fraenkel@gmail.com>2021-05-13 09:41:45 -0600
committerDamien Neil <dneil@google.com>2021-05-14 16:42:01 +0000
commit3d324f127dbb916f38d7476e9c4ff106e5d54f99 (patch)
treea72b41d9dfa6661a64ed1686f700b2e59519b57c
parent0eb38f2b164ec5b0094c5895cfe1b3a40c183d50 (diff)
downloadgo-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.go8
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
}