diff options
author | Russ Cox <rsc@golang.org> | 2009-05-13 18:03:41 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2009-05-13 18:03:41 -0700 |
commit | 12bab4cf81276e12324517e0943c26414aa3dcd0 (patch) | |
tree | 37103bd4ffc93204aed44061fcabd4f01da42461 /src/lib/net/tcpserver_test.go | |
parent | a3a5f024752e2f98a5c2396773175988259b1f0f (diff) | |
download | golang-12bab4cf81276e12324517e0943c26414aa3dcd0.tar.gz |
Unix domain socket support, Linux and Darwin.
R=r
DELTA=534 (353 added, 99 deleted, 82 changed)
OCL=28783
CL=28783
Diffstat (limited to 'src/lib/net/tcpserver_test.go')
-rw-r--r-- | src/lib/net/tcpserver_test.go | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/src/lib/net/tcpserver_test.go b/src/lib/net/tcpserver_test.go deleted file mode 100644 index 62b67b6fa..000000000 --- a/src/lib/net/tcpserver_test.go +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package net - -import ( - "io"; - "net"; - "os"; - "testing"; -) - -func runEcho(fd io.ReadWriter, done chan<- int) { - var buf [1024]byte; - - for { - n, err := fd.Read(&buf); - if err != nil || n == 0 { - break; - } - fd.Write(buf[0:n]) - } - done <- 1 -} - -func runServe(t *testing.T, network, addr string, listening, done chan<- int) { - l, err := net.Listen(network, addr); - if err != nil { - t.Fatalf("net.Listen(%q, %q) = _, %v", network, addr, err); - } - listening <- 1; - - for { - fd, addr, err := l.Accept(); - if err != nil { - break; - } - echodone := make(chan int); - go runEcho(fd, echodone); - <-echodone; // make sure Echo stops - l.Close(); - } - done <- 1 -} - -func connect(t *testing.T, network, addr string) { - fd, err := net.Dial(network, "", addr); - if err != nil { - t.Fatalf("net.Dial(%q, %q, %q) = _, %v", network, "", addr, err); - } - - b := io.StringBytes("hello, world\n"); - var b1 [100]byte; - - n, errno := fd.Write(b); - if n != len(b) { - t.Fatalf("fd.Write(%q) = %d, %v", b, n, errno); - } - - n, errno = fd.Read(&b1); - if n != len(b) { - t.Fatalf("fd.Read() = %d, %v", n, errno); - } - fd.Close(); -} - -func doTest(t *testing.T, network, listenaddr, dialaddr string) { - t.Logf("Test %s %s %s\n", network, listenaddr, dialaddr); - listening := make(chan int); - done := make(chan int); - go runServe(t, network, listenaddr, listening, done); - <-listening; // wait for server to start - connect(t, network, dialaddr); - <-done; // make sure server stopped -} - -func TestTcpServer(t *testing.T) { - doTest(t, "tcp", "0.0.0.0:9997", "127.0.0.1:9997"); - doTest(t, "tcp", "[::]:9997", "[::ffff:127.0.0.1]:9997"); - doTest(t, "tcp", "[::]:9997", "127.0.0.1:9997"); - doTest(t, "tcp", ":9997", "127.0.0.1:9997"); - doTest(t, "tcp", "0.0.0.0:9997", "[::ffff:127.0.0.1]:9997"); -} - |