aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2016-11-03 01:11:49 +0000
committerBrad Fitzpatrick <bradfitz@golang.org>2016-11-03 03:20:01 +0000
commitbe7c50a7101a6e3cbd39648814c9f1030980c0f6 (patch)
treee89998e0449cc371aaefd08eeb8a4f77fdf4f83e /src
parent66504485ebd8d7a75b68c025cc15835b016a1ae4 (diff)
downloadgo-be7c50a7101a6e3cbd39648814c9f1030980c0f6.tar.xz
net/http: deflake TestServerSetKeepAlivesEnabledClosesConns
Fixes #17754 Updates #9478 (details in here) Change-Id: Iae2c1ca05a18ed266b53b2594c22fc57fab33c5e Reviewed-on: https://go-review.googlesource.com/32587 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/net/http/export_test.go12
-rw-r--r--src/net/http/serve_test.go3
2 files changed, 15 insertions, 0 deletions
diff --git a/src/net/http/export_test.go b/src/net/http/export_test.go
index fbed45070c..40f87dc8e9 100644
--- a/src/net/http/export_test.go
+++ b/src/net/http/export_test.go
@@ -186,3 +186,15 @@ func ExportHttp2ConfigureTransport(t *Transport) error {
}
var Export_shouldCopyHeaderOnRedirect = shouldCopyHeaderOnRedirect
+
+func (s *Server) ExportAllConnsIdle() bool {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+ for c := range s.activeConn {
+ st, ok := c.curState.Load().(ConnState)
+ if !ok || st != StateIdle {
+ return false
+ }
+ }
+ return true
+}
diff --git a/src/net/http/serve_test.go b/src/net/http/serve_test.go
index f855c35822..fe63c6925f 100644
--- a/src/net/http/serve_test.go
+++ b/src/net/http/serve_test.go
@@ -4875,6 +4875,9 @@ func TestServerSetKeepAlivesEnabledClosesConns(t *testing.T) {
}) {
t.Fatalf("idle count before SetKeepAlivesEnabled called = %v; want 1", idle0)
}
+ if !waitCondition(2*time.Second, 10*time.Millisecond, ts.Config.ExportAllConnsIdle) {
+ t.Fatalf("test server has active conns")
+ }
ts.Config.SetKeepAlivesEnabled(false)