]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: silence TLS handshake errors during test
authorRuss Cox <rsc@golang.org>
Wed, 5 Nov 2025 19:45:36 +0000 (14:45 -0500)
committerGopher Robot <gobot@golang.org>
Wed, 5 Nov 2025 20:36:32 +0000 (12:36 -0800)
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>

src/cmd/go/internal/vcweb/vcstest/vcstest.go

index 68278512922825cdab9ec59a289603410867454a..224cfd791931caa69d1c3cd1e8fe4fc709ceab6c 100644 (file)
@@ -7,6 +7,7 @@
 package vcstest
 
 import (
+       "bytes"
        "cmd/go/internal/vcs"
        "cmd/go/internal/vcweb"
        "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)
        if err != nil {
                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)
        if err != nil {
                return nil, err
@@ -115,6 +120,19 @@ func NewServer() (srv *Server, err error) {
        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 {
        if vcs.VCSTestRepoURL != srv.HTTP.URL {
                panic("vcs URL hooks modified before Close")