2
0
Эх сурвалжийг харах

add test that fails on go1.10.*

Song Gao 6 жил өмнө
parent
commit
af2921498b

+ 6 - 3
ipv4_darwin_test.go

@@ -32,12 +32,13 @@ func TestP2PTUN(t *testing.T) {
 		t.Fatalf("creating TUN error: %v\n", err)
 	}
 
+	dataCh := make(chan []byte)
+	errCh := make(chan error)
+	startRead(t, ifce, dataCh, errCh)
+
 	setupIfce(t, self, remote, ifce.Name())
 	startPing(t, remote)
 
-	dataCh := make(chan []byte, 8)
-	startRead(dataCh, ifce)
-
 	timeout := time.NewTimer(8 * time.Second).C
 
 readFrame:
@@ -58,6 +59,8 @@ readFrame:
 			}
 			t.Logf("received broadcast packet: %#v\n", packet)
 			break readFrame
+		case err := <-errCh:
+			t.Fatalf("read error: %v", err)
 		case <-timeout:
 			t.Fatal("Waiting for broadcast packet timeout")
 		}

+ 5 - 2
ipv4_linux_test.go

@@ -39,8 +39,9 @@ func TestBroadcastTAP(t *testing.T) {
 	setupIfce(t, net.IPNet{IP: self, Mask: mask}, ifce.Name())
 	startBroadcast(t, brd)
 
-	dataCh := make(chan []byte, 8)
-	startRead(dataCh, ifce)
+	dataCh := make(chan []byte)
+	errCh := make(chan error)
+	startRead(t, ifce, dataCh, errCh)
 
 	timeout := time.NewTimer(8 * time.Second).C
 
@@ -70,6 +71,8 @@ readFrame:
 			}
 			t.Logf("received broadcast frame: %#v\n", buffer)
 			break readFrame
+		case err := <-errCh:
+			t.Fatalf("read error: %v", err)
 		case <-timeout:
 			t.Fatal("Waiting for broadcast packet timeout")
 		}

+ 5 - 3
ipv4_test.go

@@ -8,14 +8,16 @@ import (
 
 const BUFFERSIZE = 1522
 
-func startRead(ch chan<- []byte, ifce *Interface) {
+func startRead(t *testing.T, ifce *Interface, dataCh chan<- []byte, errCh chan<- error) {
 	go func() {
 		for {
 			buffer := make([]byte, BUFFERSIZE)
 			n, err := ifce.Read(buffer)
-			if err == nil {
+			if err != nil {
+				errCh <- err
+			} else {
 				buffer = buffer[:n:n]
-				ch <- buffer
+				dataCh <- buffer
 			}
 		}
 	}()

+ 4 - 1
ipv4_windows_test.go

@@ -45,7 +45,8 @@ func TestBroadcastTAP(t *testing.T) {
 	startBroadcast(t, brd)
 
 	dataCh := make(chan []byte, 8)
-	startRead(dataCh, ifce)
+	errCh := make(chan error)
+	startRead(t, ifce, dataCh, errCh)
 
 	timeout := time.NewTimer(8 * time.Second).C
 
@@ -75,6 +76,8 @@ readFrame:
 			}
 			t.Logf("received broadcast frame: %#v\n", buffer)
 			break readFrame
+		case err := <-errCh:
+			t.Fatalf("read error: %v", err)
 		case <-timeout:
 			t.Fatal("Waiting for broadcast packet timeout")
 		}