[pypy-svn] rev 2679 - in pypy/trunk/src/pypy/objspace/std: . test
alex at codespeak.net
alex at codespeak.net
Mon Dec 22 17:39:56 CET 2003
Author: alex
Date: Mon Dec 22 17:39:55 2003
New Revision: 2679
Modified:
pypy/trunk/src/pypy/objspace/std/floatobject.py
pypy/trunk/src/pypy/objspace/std/test/test_floatobject.py
Log:
added test to show a bug (pow(-2.3,4.5) was not wrapping the exception)
and fixed the bug.
Modified: pypy/trunk/src/pypy/objspace/std/floatobject.py
==============================================================================
--- pypy/trunk/src/pypy/objspace/std/floatobject.py (original)
+++ pypy/trunk/src/pypy/objspace/std/floatobject.py Mon Dec 22 17:39:55 2003
@@ -223,6 +223,9 @@
z = x ** y
except OverflowError:
raise FailedToImplement(space.w_OverflowError, space.wrap("float power"))
+ except ValueError, e:
+ raise FailedToImplement(space.w_ValueError, space.wrap(str(e)))
+
return W_FloatObject(space, z)
def neg__Float(space, w_float1):
Modified: pypy/trunk/src/pypy/objspace/std/test/test_floatobject.py
==============================================================================
--- pypy/trunk/src/pypy/objspace/std/test/test_floatobject.py (original)
+++ pypy/trunk/src/pypy/objspace/std/test/test_floatobject.py Mon Dec 22 17:39:55 2003
@@ -27,7 +27,8 @@
f2 = fobj.W_FloatObject(self.space, y)
f3 = fobj.W_FloatObject(self.space, z)
self.assertEquals(self.space.w_TypeError,
- self._unwrap_nonimpl(fobj.pow__Float_Float_ANY, self.space, f1, f2, f3))
+ self._unwrap_nonimpl(fobj.pow__Float_Float_ANY,
+ self.space, f1, f2, f3))
def test_pow_ffn(self):
x = 10.0
@@ -36,6 +37,12 @@
f2 = fobj.W_FloatObject(self.space, y)
v = fobj.pow__Float_Float_ANY(self.space, f1, f2, self.space.w_None)
self.assertEquals(v.floatval, x ** y)
+ f1 = fobj.W_FloatObject(self.space, -1.23)
+ f2 = fobj.W_FloatObject(self.space, -4.56)
+ self.assertEquals(self.space.w_ValueError,
+ self._unwrap_nonimpl(fobj.pow__Float_Float_ANY,
+ self.space, f1, f2,
+ self.space.w_None))
class AppFloatTest(test.AppTestCase):
def setUp(self):
More information about the Pypy-commit
mailing list