net: don't miss testing server teardowns when test fails early

Change-Id: I9fa678e43b4ae3970323cac474b5f86d4d933997
Reviewed-on: https://go-review.googlesource.com/9382
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/src/net/server_test.go b/src/net/server_test.go
index d433ecf..1407165 100644
--- a/src/net/server_test.go
+++ b/src/net/server_test.go
@@ -69,6 +69,11 @@
 
 		var lss []*localServer
 		var tpchs []chan error
+		defer func() {
+			for _, ls := range lss {
+				ls.teardown()
+			}
+		}()
 		for i := 0; i < N; i++ {
 			ls, err := (&streamListener{Listener: ln}).newLocalServer()
 			if err != nil {
@@ -77,11 +82,6 @@
 			lss = append(lss, ls)
 			tpchs = append(tpchs, make(chan error, 1))
 		}
-		defer func() {
-			for _, ls := range lss {
-				ls.teardown()
-			}
-		}()
 		for i := 0; i < N; i++ {
 			ch := tpchs[i]
 			handler := func(ls *localServer, ln Listener) { transponder(ln, ch) }
@@ -153,6 +153,11 @@
 
 		var lss []*localServer
 		var tpchs []chan error
+		defer func() {
+			for _, ls := range lss {
+				ls.teardown()
+			}
+		}()
 		for i := 0; i < N; i++ {
 			ls, err := (&streamListener{Listener: ln}).newLocalServer()
 			if err != nil {
@@ -161,11 +166,6 @@
 			lss = append(lss, ls)
 			tpchs = append(tpchs, make(chan error, 1))
 		}
-		defer func() {
-			for _, ls := range lss {
-				ls.teardown()
-			}
-		}()
 		for i := 0; i < N; i++ {
 			ch := tpchs[i]
 			handler := func(ls *localServer, ln Listener) { transponder(ln, ch) }