From: Alex Brainman Date: Sat, 9 Dec 2017 23:35:44 +0000 (+1100) Subject: net: skip some tests on Windows XP X-Git-Tag: go1.10beta2~146 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=607147d000d9455113f28bb529ab5932e4274ba3;p=gostls13.git net: skip some tests on Windows XP Parts of TestUDPConnSpecificMethods and TestWriteToUDP fail, because UDPConn.WriteMsgUDP is broken on Windows XP. UDPConn.WriteMsgUDP uses Windows WSASendMsg API, but that call is not implemented on Windows XP (see https://msdn.microsoft.com/en-us/library/windows/desktop/ms741692(v=vs.85).aspx for details) Update #23072 Change-Id: I4e8f149bc62bd87cd7c199e6832b9ce479af0a3e Reviewed-on: https://go-review.googlesource.com/83077 Run-TryBot: Alex Brainman Reviewed-by: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- diff --git a/src/net/protoconn_test.go b/src/net/protoconn_test.go index 05c45d02b9..def8d657f1 100644 --- a/src/net/protoconn_test.go +++ b/src/net/protoconn_test.go @@ -8,6 +8,7 @@ package net import ( + "internal/testenv" "os" "runtime" "testing" @@ -138,11 +139,15 @@ func TestUDPConnSpecificMethods(t *testing.T) { if _, _, err := c.ReadFromUDP(rb); err != nil { t.Fatal(err) } - if _, _, err := c.WriteMsgUDP(wb, nil, c.LocalAddr().(*UDPAddr)); err != nil { - condFatalf(t, c.LocalAddr().Network(), "%v", err) - } - if _, _, _, _, err := c.ReadMsgUDP(rb, nil); err != nil { - condFatalf(t, c.LocalAddr().Network(), "%v", err) + if testenv.IsWindowsXP() { + t.Log("skipping broken test on Windows XP (see golang.org/issue/23072)") + } else { + if _, _, err := c.WriteMsgUDP(wb, nil, c.LocalAddr().(*UDPAddr)); err != nil { + condFatalf(t, c.LocalAddr().Network(), "%v", err) + } + if _, _, _, _, err := c.ReadMsgUDP(rb, nil); err != nil { + condFatalf(t, c.LocalAddr().Network(), "%v", err) + } } if f, err := c.File(); err != nil { diff --git a/src/net/udpsock_test.go b/src/net/udpsock_test.go index 4ae014c01d..769576cd97 100644 --- a/src/net/udpsock_test.go +++ b/src/net/udpsock_test.go @@ -163,6 +163,11 @@ func testWriteToConn(t *testing.T, raddr string) { switch runtime.GOOS { case "nacl": // see golang.org/issue/9252 t.Skipf("not implemented yet on %s", runtime.GOOS) + case "windows": + if testenv.IsWindowsXP() { + t.Log("skipping broken test on Windows XP (see golang.org/issue/23072)") + return + } default: if err != nil { t.Fatal(err) @@ -206,6 +211,11 @@ func testWriteToPacketConn(t *testing.T, raddr string) { switch runtime.GOOS { case "nacl": // see golang.org/issue/9252 t.Skipf("not implemented yet on %s", runtime.GOOS) + case "windows": + if testenv.IsWindowsXP() { + t.Log("skipping broken test on Windows XP (see golang.org/issue/23072)") + return + } default: if err != nil { t.Fatal(err)