From a18789041cb1cbb80def6f3fd05a11d353c9088b Mon Sep 17 00:00:00 2001 From: Andy Pan Date: Thu, 8 Feb 2024 10:15:53 +0800 Subject: [PATCH] net: skip BenchmarkSendFile on Windows Follow up CL 543276 Change-Id: Ie02cf8a489a069bb0a3be1d8636e30d0658329c5 Reviewed-on: https://go-review.googlesource.com/c/go/+/562595 Reviewed-by: Bryan Mills LUCI-TryBot-Result: Go LUCI Reviewed-by: Dmitri Shuralyov Auto-Submit: Dmitri Shuralyov --- src/net/mockserver_test.go | 10 ++++++++++ src/net/sendfile_test.go | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/src/net/mockserver_test.go b/src/net/mockserver_test.go index d4bd16e4c6..f5ac32fadd 100644 --- a/src/net/mockserver_test.go +++ b/src/net/mockserver_test.go @@ -12,6 +12,7 @@ import ( "log" "os" "path/filepath" + "runtime" "strconv" "sync" "testing" @@ -512,6 +513,7 @@ func packetTransceiver(c PacketConn, wb []byte, dst Addr, ch chan<- error) { func spawnTestSocketPair(t testing.TB, net string) (client, server Conn) { t.Helper() + ln := newLocalListener(t, net) defer ln.Close() var cerr, serr error @@ -538,6 +540,14 @@ func spawnTestSocketPair(t testing.TB, net string) (client, server Conn) { } func startTestSocketPeer(t testing.TB, conn Conn, op string, chunkSize, totalSize int) (func(t testing.TB), error) { + t.Helper() + + if runtime.GOOS == "windows" { + // TODO(panjf2000): Windows has not yet implemented FileConn, + // remove this when it's implemented in https://go.dev/issues/9503. + t.Fatalf("startTestSocketPeer is not supported on %s", runtime.GOOS) + } + f, err := conn.(interface{ File() (*os.File, error) }).File() if err != nil { return nil, err diff --git a/src/net/sendfile_test.go b/src/net/sendfile_test.go index c3d5e714bd..8fadb47c15 100644 --- a/src/net/sendfile_test.go +++ b/src/net/sendfile_test.go @@ -449,6 +449,12 @@ func BenchmarkSendfileZeroBytes(b *testing.B) { } func BenchmarkSendFile(b *testing.B) { + if runtime.GOOS == "windows" { + // TODO(panjf2000): Windows has not yet implemented FileConn, + // remove this when it's implemented in https://go.dev/issues/9503. + b.Skipf("skipping on %s", runtime.GOOS) + } + b.Run("file-to-tcp", func(b *testing.B) { benchmarkSendFile(b, "tcp") }) b.Run("file-to-unix", func(b *testing.B) { benchmarkSendFile(b, "unix") }) } -- 2.48.1