Author: Carl Friedrich Bolz-Tereick <cfb...@gmx.de>
Branch: 
Changeset: r93751:31873397de08
Date: 2018-02-04 13:10 +0100
http://bitbucket.org/pypy/pypy/changeset/31873397de08/

Log:    test various errors

diff --git a/rpython/rlib/test/test_rbigint.py 
b/rpython/rlib/test/test_rbigint.py
--- a/rpython/rlib/test/test_rbigint.py
+++ b/rpython/rlib/test/test_rbigint.py
@@ -84,9 +84,10 @@
         for op1 in gen_signs(long_vals_not_too_big):
             rl_op1 = rbigint.fromlong(op1)
             for op2 in gen_signs(long_vals):
+                rl_op2 = rbigint.fromlong(op2)
                 if not op2:
+                    py.test.raises(ZeroDivisionError, rl_op1.truediv, rl_op2)
                     continue
-                rl_op2 = rbigint.fromlong(op2)
                 r1 = rl_op1.truediv(rl_op2)
                 r2 = op1 / op2
                 assert r1 == r2
@@ -586,7 +587,7 @@
                 assert f1.tolong() == x
 
     def test_bitwise(self):
-        for x in gen_signs([0, 1, 5, 11, 42, 43, 3 ** 30]):
+        for x in gen_signs(long_vals):
             for y in gen_signs([0, 1, 5, 11, 42, 43, 3 ** 30, 3 ** 31]):
                 lx = rbigint.fromlong(x)
                 ly = rbigint.fromlong(y)
@@ -679,9 +680,10 @@
     def test_log(self):
         from rpython.rlib.rfloat import ulps_check
         for op in long_vals:
-            if not op:
-                continue
             for base in [0, 2, 4, 8, 16, 10, math.e]:
+                if not op:
+                    py.test.raises(ValueError, rbigint.fromlong(op).log, base)
+                    continue
                 l = rbigint.fromlong(op).log(base)
                 if base:
                     assert ulps_check(l, math.log(op, base)) is None
@@ -786,7 +788,7 @@
         Rx = 1 << 130
         Rx2 = 1 << 150
         Ry = 1 << 127
-        Ry2 = 1<< 150
+        Ry2 = 1 << 150
         for i in range(10):
             x = long(randint(Rx, Rx2))
             y = long(randint(Ry, Ry2))
@@ -796,7 +798,7 @@
             _div, _rem = divmod(x, y)
             assert div.tolong() == _div
             assert rem.tolong() == _rem
-            
+
     def test_divmod(self):
         x = 12345678901234567890L
         for i in range(100):
@@ -812,6 +814,7 @@
                 _div, _rem = divmod(sx, sy)
                 assert div.tolong() == _div
                 assert rem.tolong() == _rem
+        py.test.raises(ZeroDivisionError, rbigint.fromlong(x).divmod, 
rbigint.fromlong(0))
 
     # testing Karatsuba stuff
     def test__v_iadd(self):
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to