From 96f968df9ca9533b5f6bd04bc288a047e275b9a2 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Wed, 21 Sep 2011 08:30:47 -0700 Subject: [PATCH] http: add a (disabled) test for TLS handshake timeouts It's currently broken and disabled, pending a fix for Issue 2281. R=golang-dev, adg CC=golang-dev https://golang.org/cl/5092045 --- src/pkg/http/serve_test.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/pkg/http/serve_test.go b/src/pkg/http/serve_test.go index 86653216fca..1bb748c3c9e 100644 --- a/src/pkg/http/serve_test.go +++ b/src/pkg/http/serve_test.go @@ -535,6 +535,30 @@ func TestHeadResponses(t *testing.T) { } } +func TestTLSHandshakeTimeout(t *testing.T) { + if true { + t.Logf("Skipping broken test; issue 2281") + return + } + ts := httptest.NewUnstartedServer(HandlerFunc(func(w ResponseWriter, r *Request) {})) + ts.Config.ReadTimeout = 250e6 + ts.StartTLS() + defer ts.Close() + conn, err := net.Dial("tcp", ts.Listener.Addr().String()) + if err != nil { + t.Fatalf("Dial: %v", err) + } + defer conn.Close() + timer := time.AfterFunc(10e9, func() { t.Fatalf("Timeout") }) + defer timer.Stop() + + var buf [1]byte + n, err := conn.Read(buf[:]) + if err == nil || n != 0 { + t.Errorf("Read = %d, %v; want an error and no bytes", n, err) + } +} + func TestTLSServer(t *testing.T) { ts := httptest.NewTLSServer(HandlerFunc(func(w ResponseWriter, r *Request) { if r.TLS != nil {