]> Cypherpunks repositories - gostls13.git/commitdiff
http: add a (disabled) test for TLS handshake timeouts
authorBrad Fitzpatrick <bradfitz@golang.org>
Wed, 21 Sep 2011 15:30:47 +0000 (08:30 -0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 21 Sep 2011 15:30:47 +0000 (08:30 -0700)
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

index 86653216fca024847757dce0e7a6c4a7f60f9120..1bb748c3c9ec6d43912e2e85a4af606ce1e68d5d 100644 (file)
@@ -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 {