]> Cypherpunks repositories - gostls13.git/commitdiff
net: report Accept error during TestVariousDeadlines1Proc test
authorAlex Brainman <alex.brainman@gmail.com>
Tue, 4 Dec 2012 06:00:19 +0000 (17:00 +1100)
committerAlex Brainman <alex.brainman@gmail.com>
Tue, 4 Dec 2012 06:00:19 +0000 (17:00 +1100)
R=golang-dev
CC=golang-dev
https://golang.org/cl/6868057

src/pkg/net/timeout_test.go

index 9749d03b93d183bbd1d83c43ae8906dcd66e7d55..42a121f3c5e2a0d7411869b42beb1fdb529362cd 100644 (file)
@@ -410,16 +410,7 @@ func testVariousDeadlines(t *testing.T, maxProcs int) {
        defer runtime.GOMAXPROCS(runtime.GOMAXPROCS(maxProcs))
        ln := newLocalListener(t)
        defer ln.Close()
-       donec := make(chan struct{})
-       defer close(donec)
-
-       testsDone := func() bool {
-               select {
-               case <-donec:
-                       return true
-               }
-               return false
-       }
+       acceptc := make(chan error, 1)
 
        // The server, with no timeouts of its own, sending bytes to clients
        // as fast as it can.
@@ -428,9 +419,7 @@ func testVariousDeadlines(t *testing.T, maxProcs int) {
                for {
                        c, err := ln.Accept()
                        if err != nil {
-                               if !testsDone() {
-                                       t.Fatalf("Accept: %v", err)
-                               }
+                               acceptc <- err
                                return
                        }
                        go func() {
@@ -504,6 +493,8 @@ func testVariousDeadlines(t *testing.T, maxProcs int) {
                        select {
                        case res := <-servec:
                                t.Logf("for %v: server in %v wrote %d, %v", name, res.d, res.n, res.err)
+                       case err := <-acceptc:
+                               t.Fatalf("for %v: server Accept = %v", name, err)
                        case <-time.After(tooLong):
                                t.Fatalf("for %v, timeout waiting for server to finish writing", name)
                        }