crypto/tls: test for timeout error using the net.Error interface
Don't do a substring search to test for a timeout error. Fixes #14722 (maybe) Change-Id: I4e18c749d6fd92c084a1b0b83a805119e1ae5ff2 Reviewed-on: https://go-review.googlesource.com/20403 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
326f5bb02b
commit
dae4f046c8
11
tls_test.go
11
tls_test.go
@ -188,11 +188,18 @@ func TestDialTimeout(t *testing.T) {
|
||||
t.Fatal("DialWithTimeout completed successfully")
|
||||
}
|
||||
|
||||
if !strings.Contains(err.Error(), "timed out") {
|
||||
t.Errorf("resulting error not a timeout: %s", err)
|
||||
if !isTimeoutError(err) {
|
||||
t.Errorf("resulting error not a timeout: %v\nType %T: %#v", err, err, err)
|
||||
}
|
||||
}
|
||||
|
||||
func isTimeoutError(err error) bool {
|
||||
if ne, ok := err.(net.Error); ok {
|
||||
return ne.Timeout()
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// tests that Conn.Read returns (non-zero, io.EOF) instead of
|
||||
// (non-zero, nil) when a Close (alertCloseNotify) is sitting right
|
||||
// behind the application data in the buffer.
|
||||
|
Loading…
Reference in New Issue
Block a user