summaryrefslogtreecommitdiff
path: root/src/lib/net/server_test.go
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2009-06-09 09:53:44 -0700
committerRob Pike <r@golang.org>2009-06-09 09:53:44 -0700
commit7249ea4df2b4f12a4e7ed446f270cea87e4ffd34 (patch)
tree7032a11d0cac2ae4d3e90f7a189b575b5a50f848 /src/lib/net/server_test.go
parentacf6ef7a82b3fe61516a1bac4563706552bdf078 (diff)
downloadgolang-7249ea4df2b4f12a4e7ed446f270cea87e4ffd34.tar.gz
mv src/lib to src/pkg
tests: all.bash passes, gobuild still works, godoc still works. R=rsc OCL=30096 CL=30102
Diffstat (limited to 'src/lib/net/server_test.go')
-rw-r--r--src/lib/net/server_test.go93
1 files changed, 0 insertions, 93 deletions
diff --git a/src/lib/net/server_test.go b/src/lib/net/server_test.go
deleted file mode 100644
index 586b55365..000000000
--- a/src/lib/net/server_test.go
+++ /dev/null
@@ -1,93 +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";
- "syscall";
- "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");
-}
-
-func TestUnixServer(t *testing.T) {
- doTest(t, "unix", "/tmp/gotest.net", "/tmp/gotest.net");
- if syscall.OS == "linux" {
- // Test abstract unix domain socket, a Linux-ism
- doTest(t, "unix", "@gotest/net", "@gotest/net");
- }
-}