]> Cypherpunks repositories - gostls13.git/commitdiff
net: skip some tests on Windows XP
authorAlex Brainman <alex.brainman@gmail.com>
Sat, 9 Dec 2017 23:35:44 +0000 (10:35 +1100)
committerBrad Fitzpatrick <bradfitz@golang.org>
Sun, 10 Dec 2017 00:29:05 +0000 (00:29 +0000)
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 <alex.brainman@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/net/protoconn_test.go
src/net/udpsock_test.go

index 05c45d02b9a0f193f2679fda7962e1147333694c..def8d657f16338df5ea36f68b73373d0a4315b62 100644 (file)
@@ -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 {
index 4ae014c01d9b69539fd12fe1bdb7363384130130..769576cd9766723cee6dc4b3d1a9257aba975f1e 100644 (file)
@@ -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)