add test that fails on go1.10.*

This commit is contained in:
Song Gao 2019-03-31 14:57:04 -07:00
parent f7eb3ca99f
commit af2921498b
4 changed files with 20 additions and 9 deletions

View File

@ -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")
}

View File

@ -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")
}

View File

@ -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
}
}
}()

View File

@ -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")
}