net: replace server tests
This change replaces server tests with new ones that require features
introduced after go1 release, such as runtime-integrated network poller,
Dialer, etc.
Change-Id: Icf1f94f08f33caacd499cfccbe74cda8d05eed30
Reviewed-on: https://go-review.googlesource.com/9195
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/src/net/timeout_test.go b/src/net/timeout_test.go
index 3ef22fa..c9a826e 100644
--- a/src/net/timeout_test.go
+++ b/src/net/timeout_test.go
@@ -307,15 +307,14 @@
t.Skipf("skipping test on %q", runtime.GOOS)
}
- // set up a listener that won't talk back
- listening := make(chan string)
- done := make(chan int)
- go runDatagramPacketConnServer(t, "udp", "127.0.0.1:0", listening, done)
- addr := <-listening
+ c, err := newLocalPacketListener("udp") // a listener that won't talk back
+ if err != nil {
+ t.Fatal(err)
+ }
- testTimeout(t, "udp", addr, false)
- testTimeout(t, "udp", addr, true)
- <-done
+ testTimeout(t, "udp", c.LocalAddr().String(), false)
+ testTimeout(t, "udp", c.LocalAddr().String(), true)
+ c.Close()
}
func TestTimeoutTCP(t *testing.T) {
@@ -324,14 +323,25 @@
t.Skipf("skipping test on %q", runtime.GOOS)
}
- // set up a listener that won't talk back
- listening := make(chan string)
- done := make(chan int)
- go runStreamConnServer(t, "tcp", "127.0.0.1:0", listening, done)
- addr := <-listening
+ handler := func(ls *localServer, ln Listener) { // a listener that won't talk back
+ for {
+ c, err := ln.Accept()
+ if err != nil {
+ break
+ }
+ defer c.Close()
+ }
+ }
+ ls, err := newLocalServer("tcp")
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer ls.teardown()
+ if err := ls.buildup(handler); err != nil {
+ t.Fatal(err)
+ }
- testTimeout(t, "tcp", addr, false)
- <-done
+ testTimeout(t, "tcp", ls.Listener.Addr().String(), false)
}
func TestDeadlineReset(t *testing.T) {