cmd/go: silence TLS handshake errors during test

We don't need to see messages like "TLS handshake error: EOF"
during go test.

Change-Id: If6bf51e655119914f337b9e61448c99485af34f2
Reviewed-on: https://go-review.googlesource.com/c/go/+/718183
Reviewed-by: Michael Matloob <matloob@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Matloob <matloob@golang.org>
Auto-Submit: Russ Cox <rsc@golang.org>
This commit is contained in:
Russ Cox 2025-11-05 14:45:36 -05:00 committed by Gopher Robot
parent 3ae9e95002
commit daa220a1c9

View file

@ -7,6 +7,7 @@
package vcstest package vcstest
import ( import (
"bytes"
"cmd/go/internal/vcs" "cmd/go/internal/vcs"
"cmd/go/internal/vcweb" "cmd/go/internal/vcweb"
"cmd/go/internal/web/intercept" "cmd/go/internal/web/intercept"
@ -70,7 +71,9 @@ func NewServer() (srv *Server, err error) {
} }
}() }()
srvHTTP := httptest.NewServer(handler) srvHTTP := httptest.NewUnstartedServer(handler)
srvHTTP.Config.ErrorLog = testLogger()
srvHTTP.Start()
httpURL, err := url.Parse(srvHTTP.URL) httpURL, err := url.Parse(srvHTTP.URL)
if err != nil { if err != nil {
return nil, err return nil, err
@ -81,7 +84,9 @@ func NewServer() (srv *Server, err error) {
} }
}() }()
srvHTTPS := httptest.NewTLSServer(handler) srvHTTPS := httptest.NewUnstartedServer(handler)
srvHTTPS.Config.ErrorLog = testLogger()
srvHTTPS.StartTLS()
httpsURL, err := url.Parse(srvHTTPS.URL) httpsURL, err := url.Parse(srvHTTPS.URL)
if err != nil { if err != nil {
return nil, err return nil, err
@ -115,6 +120,19 @@ func NewServer() (srv *Server, err error) {
return srv, nil return srv, nil
} }
func testLogger() *log.Logger {
return log.New(httpLogger{}, "vcweb: ", 0)
}
type httpLogger struct{}
func (httpLogger) Write(b []byte) (int, error) {
if bytes.Contains(b, []byte("TLS handshake error")) {
return len(b), nil
}
return os.Stdout.Write(b)
}
func (srv *Server) Close() error { func (srv *Server) Close() error {
if vcs.VCSTestRepoURL != srv.HTTP.URL { if vcs.VCSTestRepoURL != srv.HTTP.URL {
panic("vcs URL hooks modified before Close") panic("vcs URL hooks modified before Close")