testing: fix rounding error in roundDown10

Fixes #5599.

Thanks to minux.ma for the suggested fix.

As we now have a harness to test testing internal functions I added some coverage for testing.roundUp, as it is the main consumer of roundDown10.

R=minux.ma, kr, r
CC=golang-dev
https://golang.org/cl/9926043
diff --git a/src/pkg/testing/benchmark_test.go b/src/pkg/testing/benchmark_test.go
index 5ed4e03..94e994d 100644
--- a/src/pkg/testing/benchmark_test.go
+++ b/src/pkg/testing/benchmark_test.go
@@ -13,19 +13,46 @@
 }{
 	{1, 1},
 	{9, 1},
-	{10, 1},
+	{10, 10},
 	{11, 10},
-	{100, 10},
-	//	{101, 100}, // issue 5599
-	{1000, 100},
-	//	{1001, 1000}, // issue 5599
+	{100, 100},
+	{101, 100},
+	{999, 100},
+	{1000, 1000},
+	{1001, 1000},
 }
 
 func TestRoundDown10(t *testing.T) {
 	for _, tt := range roundDownTests {
 		actual := testing.RoundDown10(tt.v)
 		if tt.expected != actual {
-			t.Errorf("roundDown10: expected %v, actual %v", tt.expected, actual)
+			t.Errorf("roundDown10(%d): expected %d, actual %d", tt.v, tt.expected, actual)
+		}
+	}
+}
+
+var roundUpTests = []struct {
+	v, expected int
+}{
+	{0, 1},
+	{1, 1},
+	{2, 2},
+	{5, 5},
+	{9, 10},
+	{999, 1000},
+	{1000, 1000},
+	{1400, 2000},
+	{1700, 2000},
+	{4999, 5000},
+	{5000, 5000},
+	{5001, 10000},
+}
+
+func TestRoundUp(t *testing.T) {
+	for _, tt := range roundUpTests {
+		actual := testing.RoundUp(tt.v)
+		if tt.expected != actual {
+			t.Errorf("roundUp(%d): expected %d, actual %d", tt.v, tt.expected, actual)
 		}
 	}
 }