[pypy-svn] r62372 - pypy/branch/spy-graphic/pypy/lang/smalltalk/test
cfbolz at codespeak.net
cfbolz at codespeak.net
Mon Mar 2 14:26:21 CET 2009
Author: cfbolz
Date: Mon Mar 2 14:26:20 2009
New Revision: 62372
Modified:
pypy/branch/spy-graphic/pypy/lang/smalltalk/test/test_objectspace.py
Log:
a test for the new unsigned wrapping/unwrapping code
Modified: pypy/branch/spy-graphic/pypy/lang/smalltalk/test/test_objectspace.py
==============================================================================
--- pypy/branch/spy-graphic/pypy/lang/smalltalk/test/test_objectspace.py (original)
+++ pypy/branch/spy-graphic/pypy/lang/smalltalk/test/test_objectspace.py Mon Mar 2 14:26:20 2009
@@ -1,3 +1,4 @@
+import py
from pypy.lang.smalltalk import objspace
space = objspace.ObjSpace()
@@ -24,3 +25,19 @@
def test_metaclass_of_metaclass_is_an_instance_of_metaclass():
w_Metaclass = space.classtable['w_Metaclass']
assert w_Metaclass.w_class.w_class is w_Metaclass
+
+def test_ruint():
+ from pypy.rlib.rarithmetic import r_uint
+ import sys
+ for num in [0, 1, 41, 100, 2**31, sys.maxint + 1]:
+ num = r_uint(num)
+ assert space.unwrap_uint(space.wrap_uint(num)) == num
+ for num in [-1, -100, -sys.maxint]:
+ py.test.raises(objspace.WrappingError, space.wrap_uint, num)
+ for obj in [space.wrap_char('a'), space.wrap_int(-1)]:
+ py.test.raises(objspace.UnwrappingError, space.unwrap_uint, obj)
+ byteobj = space.wrap_uint(sys.maxint + 1)
+ byteobj.bytes.append('\x01')
+ py.test.raises(objspace.UnwrappingError, space.unwrap_uint, byteobj)
+
+
More information about the Pypy-commit
mailing list