test: make maplinear iterdelete test less flaky

iterdelete's run time varies; occasionally we get unlucky. To reduce spurious failures, average away some of the variation.

On my machine, 8 of 5000 runs (0.15%) failed before this CL. After this CL, there were no failures after 35,000 runs.

I confirmed that this adjusted test still fails before CL 141270043.

LGTM=khr
R=khr
CC=bradfitz, golang-codereviews
https://golang.org/cl/140610043
diff --git a/test/maplinear.go b/test/maplinear.go
index 8cc198b..06da968 100644
--- a/test/maplinear.go
+++ b/test/maplinear.go
@@ -146,15 +146,19 @@
 	// O(n lg n) time.  Fortunately, the checkLinear test
 	// leaves enough wiggle room to include n lg n time
 	// (it actually tests for O(n^log_2(3)).
-	checkLinear("iterdelete", 10000, func(n int) {
-		m := map[int]int{}
-		for i := 0; i < n; i++ {
-			m[i] = i
-		}
-		for i := 0; i < n; i++ {
-			for k := range m {
-				delete(m, k)
-				break
+	// To prevent false positives, average away variation
+	// by doing multiple rounds within a single run.
+	checkLinear("iterdelete", 2500, func(n int) {
+		for round := 0; round < 4; round++ {
+			m := map[int]int{}
+			for i := 0; i < n; i++ {
+				m[i] = i
+			}
+			for i := 0; i < n; i++ {
+				for k := range m {
+					delete(m, k)
+					break
+				}
 			}
 		}
 	})