big: fix carry error, add test case.
crypto/x509: reenable tests.

R=gri
CC=go-dev
http://go/go-review/1026004
diff --git a/src/pkg/big/int_test.go b/src/pkg/big/int_test.go
index 3b110ca..442b76f 100644
--- a/src/pkg/big/int_test.go
+++ b/src/pkg/big/int_test.go
@@ -263,11 +263,40 @@
 }
 
 
+type divTest struct {
+	x, y string;
+	q, r string;
+}
+
+
+var divTests = []divTest{
+	divTest{
+		"476217953993950760840509444250624797097991362735329973741718102894495832294430498335824897858659711275234906400899559094370964723884706254265559534144986498357",
+		"9353930466774385905609975137998169297361893554149986716853295022578535724979483772383667534691121982974895531435241089241440253066816724367338287092081996",
+		"50911",
+		"1",
+	},
+}
+
+
 func TestDiv(t *testing.T) {
 	err := quick.Check(checkDiv, nil);
 	if err != nil {
 		t.Error(err);
 	}
+
+	for i, test := range divTests {
+		x, _ := new(Int).SetString(test.x, 10);
+		y, _ := new(Int).SetString(test.y, 10);
+		expectedQ, _ := new(Int).SetString(test.q, 10);
+		expectedR, _ := new(Int).SetString(test.r, 10);
+
+		q, r := new(Int).Div(x, y);
+
+		if CmpInt(q, expectedQ) != 0 || CmpInt(r, expectedR) != 0 {
+			t.Errorf("#%d got (%s, %s) want (%s, %s)", i, q, r, expectedQ, expectedR);
+		}
+	}
 }