diff options
Diffstat (limited to 'src/pkg/net/server_test.go')
| -rw-r--r-- | src/pkg/net/server_test.go | 138 |
1 files changed, 69 insertions, 69 deletions
diff --git a/src/pkg/net/server_test.go b/src/pkg/net/server_test.go index 404108106..3b8f1c935 100644 --- a/src/pkg/net/server_test.go +++ b/src/pkg/net/server_test.go @@ -5,12 +5,12 @@ package net import ( - "flag"; - "io"; - "os"; - "strings"; - "syscall"; - "testing"; + "flag" + "io" + "os" + "strings" + "syscall" + "testing" ) // Do not test empty datagrams by default. @@ -20,97 +20,97 @@ import ( var testEmptyDatagrams = flag.Bool("empty_datagrams", false, "whether to test empty datagrams") func runEcho(fd io.ReadWriter, done chan<- int) { - var buf [1024]byte; + var buf [1024]byte for { - n, err := fd.Read(&buf); + n, err := fd.Read(&buf) if err != nil || n == 0 { break } - fd.Write(buf[0:n]); + fd.Write(buf[0:n]) } - done <- 1; + done <- 1 } func runServe(t *testing.T, network, addr string, listening chan<- string, done chan<- int) { - l, err := Listen(network, addr); + l, err := Listen(network, addr) if err != nil { t.Fatalf("net.Listen(%q, %q) = _, %v", network, addr, err) } - listening <- l.Addr().String(); + listening <- l.Addr().String() for { - fd, err := l.Accept(); + fd, err := l.Accept() if err != nil { break } - echodone := make(chan int); - go runEcho(fd, echodone); - <-echodone; // make sure Echo stops - l.Close(); + echodone := make(chan int) + go runEcho(fd, echodone) + <-echodone // make sure Echo stops + l.Close() } - done <- 1; + done <- 1 } func connect(t *testing.T, network, addr string, isEmpty bool) { - var laddr string; + var laddr string if network == "unixgram" { laddr = addr + ".local" } - fd, err := Dial(network, laddr, addr); + fd, err := Dial(network, laddr, addr) if err != nil { t.Fatalf("net.Dial(%q, %q, %q) = _, %v", network, laddr, addr, err) } - fd.SetReadTimeout(1e9); // 1s + fd.SetReadTimeout(1e9) // 1s - var b []byte; + var b []byte if !isEmpty { b = strings.Bytes("hello, world\n") } - var b1 [100]byte; + var b1 [100]byte - n, err := fd.Write(b); + n, err := fd.Write(b) if n != len(b) { t.Fatalf("fd.Write(%q) = %d, %v", b, n, err) } - n, err = fd.Read(&b1); + n, err = fd.Read(&b1) if n != len(b) || err != nil { t.Fatalf("fd.Read() = %d, %v (want %d, nil)", n, err, len(b)) } - fd.Close(); + fd.Close() } func doTest(t *testing.T, network, listenaddr, dialaddr string) { - t.Logf("Test %s %s %s\n", network, listenaddr, dialaddr); - listening := make(chan string); - done := make(chan int); + t.Logf("Test %s %s %s\n", network, listenaddr, dialaddr) + listening := make(chan string) + done := make(chan int) if network == "tcp" { - listenaddr += ":0" // any available port + listenaddr += ":0" // any available port } - go runServe(t, network, listenaddr, listening, done); - addr := <-listening; // wait for server to start + go runServe(t, network, listenaddr, listening, done) + addr := <-listening // wait for server to start if network == "tcp" { dialaddr += addr[strings.LastIndex(addr, ":"):] } - connect(t, network, dialaddr, false); - <-done; // make sure server stopped + connect(t, network, dialaddr, false) + <-done // make sure server stopped } func TestTCPServer(t *testing.T) { - doTest(t, "tcp", "0.0.0.0", "127.0.0.1"); - doTest(t, "tcp", "", "127.0.0.1"); + doTest(t, "tcp", "0.0.0.0", "127.0.0.1") + doTest(t, "tcp", "", "127.0.0.1") if kernelSupportsIPv6() { - doTest(t, "tcp", "[::]", "[::ffff:127.0.0.1]"); - doTest(t, "tcp", "[::]", "127.0.0.1"); - doTest(t, "tcp", "0.0.0.0", "[::ffff:127.0.0.1]"); + doTest(t, "tcp", "[::]", "[::ffff:127.0.0.1]") + doTest(t, "tcp", "[::]", "127.0.0.1") + doTest(t, "tcp", "0.0.0.0", "[::ffff:127.0.0.1]") } } func TestUnixServer(t *testing.T) { - os.Remove("/tmp/gotest.net"); - doTest(t, "unix", "/tmp/gotest.net", "/tmp/gotest.net"); - os.Remove("/tmp/gotest.net"); + os.Remove("/tmp/gotest.net") + doTest(t, "unix", "/tmp/gotest.net", "/tmp/gotest.net") + os.Remove("/tmp/gotest.net") if syscall.OS == "linux" { // Test abstract unix domain socket, a Linux-ism doTest(t, "unix", "@gotest/net", "@gotest/net") @@ -118,20 +118,20 @@ func TestUnixServer(t *testing.T) { } func runPacket(t *testing.T, network, addr string, listening chan<- string, done chan<- int) { - c, err := ListenPacket(network, addr); + c, err := ListenPacket(network, addr) if err != nil { t.Fatalf("net.ListenPacket(%q, %q) = _, %v", network, addr, err) } - listening <- c.LocalAddr().String(); - c.SetReadTimeout(10e6); // 10ms - var buf [1000]byte; + listening <- c.LocalAddr().String() + c.SetReadTimeout(10e6) // 10ms + var buf [1000]byte for { - n, addr, err := c.ReadFrom(&buf); + n, addr, err := c.ReadFrom(&buf) if isEAGAIN(err) { if done <- 1 { break } - continue; + continue } if err != nil { break @@ -140,46 +140,46 @@ func runPacket(t *testing.T, network, addr string, listening chan<- string, done t.Fatalf("WriteTo %v: %v", addr, err) } } - c.Close(); - done <- 1; + c.Close() + done <- 1 } func doTestPacket(t *testing.T, network, listenaddr, dialaddr string, isEmpty bool) { - t.Logf("TestPacket %s %s %s\n", network, listenaddr, dialaddr); - listening := make(chan string); - done := make(chan int); + t.Logf("TestPacket %s %s %s\n", network, listenaddr, dialaddr) + listening := make(chan string) + done := make(chan int) if network == "udp" { - listenaddr += ":0" // any available port + listenaddr += ":0" // any available port } - go runPacket(t, network, listenaddr, listening, done); - addr := <-listening; // wait for server to start + go runPacket(t, network, listenaddr, listening, done) + addr := <-listening // wait for server to start if network == "udp" { dialaddr += addr[strings.LastIndex(addr, ":"):] } - connect(t, network, dialaddr, isEmpty); - <-done; // tell server to stop - <-done; // wait for stop + connect(t, network, dialaddr, isEmpty) + <-done // tell server to stop + <-done // wait for stop } func TestUDPServer(t *testing.T) { for _, isEmpty := range []bool{false, *testEmptyDatagrams} { - doTestPacket(t, "udp", "0.0.0.0", "127.0.0.1", isEmpty); - doTestPacket(t, "udp", "", "127.0.0.1", isEmpty); + doTestPacket(t, "udp", "0.0.0.0", "127.0.0.1", isEmpty) + doTestPacket(t, "udp", "", "127.0.0.1", isEmpty) if kernelSupportsIPv6() { - doTestPacket(t, "udp", "[::]", "[::ffff:127.0.0.1]", isEmpty); - doTestPacket(t, "udp", "[::]", "127.0.0.1", isEmpty); - doTestPacket(t, "udp", "0.0.0.0", "[::ffff:127.0.0.1]", isEmpty); + doTestPacket(t, "udp", "[::]", "[::ffff:127.0.0.1]", isEmpty) + doTestPacket(t, "udp", "[::]", "127.0.0.1", isEmpty) + doTestPacket(t, "udp", "0.0.0.0", "[::ffff:127.0.0.1]", isEmpty) } } } func TestUnixDatagramServer(t *testing.T) { for _, isEmpty := range []bool{false, *testEmptyDatagrams} { - os.Remove("/tmp/gotest1.net"); - os.Remove("/tmp/gotest1.net.local"); - doTestPacket(t, "unixgram", "/tmp/gotest1.net", "/tmp/gotest1.net", isEmpty); - os.Remove("/tmp/gotest1.net"); - os.Remove("/tmp/gotest1.net.local"); + os.Remove("/tmp/gotest1.net") + os.Remove("/tmp/gotest1.net.local") + doTestPacket(t, "unixgram", "/tmp/gotest1.net", "/tmp/gotest1.net", isEmpty) + os.Remove("/tmp/gotest1.net") + os.Remove("/tmp/gotest1.net.local") if syscall.OS == "linux" { // Test abstract unix domain socket, a Linux-ism doTestPacket(t, "unixgram", "@gotest1/net", "@gotest1/net", isEmpty) |
