mirror of
https://github.com/golang/go
synced 2024-11-27 03:51:30 -07:00
crypto/tls: remove unused variable in benchmark code
This fixes `go test go/types`. https://golang.org/cl/23487/ introduced this code which contains two unused variables (declared and assigned to, but never read). cmd/compile doesn't report the error due open issue #8560 (the variables are assigned to in a closure), but go/types does. The build bot only runs go/types tests in -short mode (which doesn't typecheck the std lib), hence this doesn't show up on the dashboard either. We cannot call b.Fatal and friends in the goroutine. Communicating the error to the invoking function requires a channel or a mutex. Unless the channel/sycnhronized variable is tested in each iteration that follows, the iteration blocks if there's a failure. Testing in each iteration may affect benchmark times. One could use a time-out but that time depends on the underlying system. Panicking seems good enough in this unlikely case; better than hanging or affecting benchmark times. Change-Id: Idce1172da8058e580fa3b3e398825b0eb4316325 Reviewed-on: https://go-review.googlesource.com/23528 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
e106122200
commit
fe62a9ee87
@ -481,20 +481,19 @@ func throughput(b *testing.B, totalBytes int64, dynamicRecordSizingDisabled bool
|
|||||||
|
|
||||||
N := b.N
|
N := b.N
|
||||||
|
|
||||||
var serr error
|
|
||||||
go func() {
|
go func() {
|
||||||
for i := 0; i < N; i++ {
|
for i := 0; i < N; i++ {
|
||||||
sconn, err := ln.Accept()
|
sconn, err := ln.Accept()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
serr = err
|
// panic rather than synchronize to avoid benchmark overhead
|
||||||
return
|
// (cannot call b.Fatal in goroutine)
|
||||||
|
panic(fmt.Errorf("accept: %v", err))
|
||||||
}
|
}
|
||||||
serverConfig := *testConfig
|
serverConfig := *testConfig
|
||||||
serverConfig.DynamicRecordSizingDisabled = dynamicRecordSizingDisabled
|
serverConfig.DynamicRecordSizingDisabled = dynamicRecordSizingDisabled
|
||||||
srv := Server(sconn, &serverConfig)
|
srv := Server(sconn, &serverConfig)
|
||||||
if err := srv.Handshake(); err != nil {
|
if err := srv.Handshake(); err != nil {
|
||||||
serr = fmt.Errorf("handshake: %v", err)
|
panic(fmt.Errorf("handshake: %v", err))
|
||||||
return
|
|
||||||
}
|
}
|
||||||
io.Copy(srv, srv)
|
io.Copy(srv, srv)
|
||||||
}
|
}
|
||||||
@ -570,20 +569,19 @@ func latency(b *testing.B, bps int, dynamicRecordSizingDisabled bool) {
|
|||||||
|
|
||||||
N := b.N
|
N := b.N
|
||||||
|
|
||||||
var serr error
|
|
||||||
go func() {
|
go func() {
|
||||||
for i := 0; i < N; i++ {
|
for i := 0; i < N; i++ {
|
||||||
sconn, err := ln.Accept()
|
sconn, err := ln.Accept()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
serr = err
|
// panic rather than synchronize to avoid benchmark overhead
|
||||||
return
|
// (cannot call b.Fatal in goroutine)
|
||||||
|
panic(fmt.Errorf("accept: %v", err))
|
||||||
}
|
}
|
||||||
serverConfig := *testConfig
|
serverConfig := *testConfig
|
||||||
serverConfig.DynamicRecordSizingDisabled = dynamicRecordSizingDisabled
|
serverConfig.DynamicRecordSizingDisabled = dynamicRecordSizingDisabled
|
||||||
srv := Server(&slowConn{sconn, bps}, &serverConfig)
|
srv := Server(&slowConn{sconn, bps}, &serverConfig)
|
||||||
if err := srv.Handshake(); err != nil {
|
if err := srv.Handshake(); err != nil {
|
||||||
serr = fmt.Errorf("handshake: %v", err)
|
panic(fmt.Errorf("handshake: %v", err))
|
||||||
return
|
|
||||||
}
|
}
|
||||||
io.Copy(srv, srv)
|
io.Copy(srv, srv)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user