aboutsummaryrefslogtreecommitdiff
path: root/src/crypto
diff options
context:
space:
mode:
authorFilippo Valsorda <filippo@golang.org>2018-10-24 21:31:18 -0400
committerFilippo Valsorda <filippo@golang.org>2018-10-25 19:02:40 +0000
commita7fb5e1bd2d655c275fdf513fe0ea7ea7517e675 (patch)
treeb1a71437272e71a8289ae9426f4919d24f719643 /src/crypto
parentf98ac8519257f8e4d2e886b84ccab628eeb61244 (diff)
downloadgo-a7fb5e1bd2d655c275fdf513fe0ea7ea7517e675.tar.xz
crypto/tls: add timeouts to recorded tests
If something causes the recorded tests to deviate from the expected flows, they might wait forever for data that is not coming. Add a short timeout, after which a useful error message is shown. Change-Id: Ib11ccc0e17dcb8b2180493556017275678abbb08 Reviewed-on: https://go-review.googlesource.com/c/144116 Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@golang.org>
Diffstat (limited to 'src/crypto')
-rw-r--r--src/crypto/tls/handshake_client_test.go2
-rw-r--r--src/crypto/tls/handshake_server_test.go2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/crypto/tls/handshake_client_test.go b/src/crypto/tls/handshake_client_test.go
index dcd6914098..5a1e608536 100644
--- a/src/crypto/tls/handshake_client_test.go
+++ b/src/crypto/tls/handshake_client_test.go
@@ -384,10 +384,12 @@ func (test *clientTest) run(t *testing.T, write bool) {
}
for i, b := range flows {
if i%2 == 1 {
+ serverConn.SetWriteDeadline(time.Now().Add(1 * time.Second))
serverConn.Write(b)
continue
}
bb := make([]byte, len(b))
+ serverConn.SetReadDeadline(time.Now().Add(1 * time.Second))
_, err := io.ReadFull(serverConn, bb)
if err != nil {
t.Fatalf("%s #%d: %s", test.name, i, err)
diff --git a/src/crypto/tls/handshake_server_test.go b/src/crypto/tls/handshake_server_test.go
index 44c67ed063..2a77584cdd 100644
--- a/src/crypto/tls/handshake_server_test.go
+++ b/src/crypto/tls/handshake_server_test.go
@@ -615,10 +615,12 @@ func (test *serverTest) run(t *testing.T, write bool) {
}
for i, b := range flows {
if i%2 == 0 {
+ clientConn.SetWriteDeadline(time.Now().Add(1 * time.Second))
clientConn.Write(b)
continue
}
bb := make([]byte, len(b))
+ clientConn.SetReadDeadline(time.Now().Add(1 * time.Second))
n, err := io.ReadFull(clientConn, bb)
if err != nil {
t.Fatalf("%s #%d: %s\nRead %d, wanted %d, got %x, wanted %x\n", test.name, i+1, err, n, len(bb), bb[:n], b)