From 7a853b6520d83db3d018fe49cfac15324f45a1b2 Mon Sep 17 00:00:00 2001 From: Filippo Valsorda Date: Mon, 15 Jul 2019 16:45:17 -0400 Subject: [release-branch.go1.11] crypto/tls: remove TestVerifyHostnameResumed Session resumption is not a reliable TLS behavior: the server can decide to reject a session ticket for a number of reasons, or no reason at all. This makes this non-hermetic test extremely brittle. It's currently broken on the builders for both TLS 1.2 and TLS 1.3, and I could reproduce the issue for TLS 1.3 only. As I was debugging it, it started passing entirely on my machine. In practice, it doesn't get us any coverage as resumption is already tested with the recorded exchange tests, and TestVerifyHostname still provides a smoke test checking that we can in fact talk TLS. Updates #32978 Change-Id: I63505e22ff7704f25ad700d46e4ff14850ba5d3c Reviewed-on: https://go-review.googlesource.com/c/go/+/186239 Run-TryBot: Filippo Valsorda Reviewed-by: Bryan C. Mills (cherry-picked from 20e4540e9084528a1b36978882596daa7d8d8800) Reviewed-on: https://go-review.googlesource.com/c/go/+/186279 TryBot-Result: Gobot Gobot Reviewed-by: Dmitri Shuralyov --- src/crypto/tls/tls_test.go | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/src/crypto/tls/tls_test.go b/src/crypto/tls/tls_test.go index 7542699bdc..354ace67bf 100644 --- a/src/crypto/tls/tls_test.go +++ b/src/crypto/tls/tls_test.go @@ -357,31 +357,6 @@ func TestVerifyHostname(t *testing.T) { } } -func TestVerifyHostnameResumed(t *testing.T) { - testenv.MustHaveExternalNetwork(t) - - config := &Config{ - ClientSessionCache: NewLRUClientSessionCache(32), - } - for i := 0; i < 2; i++ { - c, err := Dial("tcp", "www.google.com:https", config) - if err != nil { - t.Fatalf("Dial #%d: %v", i, err) - } - cs := c.ConnectionState() - if i > 0 && !cs.DidResume { - t.Fatalf("Subsequent connection unexpectedly didn't resume") - } - if cs.VerifiedChains == nil { - t.Fatalf("Dial #%d: cs.VerifiedChains == nil", i) - } - if err := c.VerifyHostname("www.google.com"); err != nil { - t.Fatalf("verify www.google.com #%d: %v", i, err) - } - c.Close() - } -} - func TestConnCloseBreakingWrite(t *testing.T) { ln := newLocalListener(t) defer ln.Close() -- cgit v1.2.3-54-g00ecf