Author: Tobias Pape <[email protected]>
Branch: 
Changeset: r21:45c9ef36a50c
Date: 2013-01-24 17:17 +0100
http://bitbucket.org/pypy/lang-smalltalk/changeset/45c9ef36a50c/

Log:    mark integer wrapping test as skipped on 64 bit machines

diff --git a/spyvm/objspace.py b/spyvm/objspace.py
--- a/spyvm/objspace.py
+++ b/spyvm/objspace.py
@@ -167,7 +167,7 @@
     def wrap_uint(self, val):
         if val < 0:
             raise WrappingError("negative integer")
-        if intmask(val) > 0:
+        if intmask(val) >= 0:
             try:
                 return self.wrap_int(intmask(val))
             except WrappingError:
diff --git a/spyvm/test/test_objectspace.py b/spyvm/test/test_objectspace.py
--- a/spyvm/test/test_objectspace.py
+++ b/spyvm/test/test_objectspace.py
@@ -1,4 +1,5 @@
 import py
+import sys
 from spyvm import objspace
 
 space = objspace.ObjSpace()
@@ -28,16 +29,24 @@
 
 def test_ruint():
     from rpython.rlib.rarithmetic import r_uint
-    import sys
-    for num in [0, 1, 41, 100, 2**31, sys.maxint + 1]:
+    for num in [0, 1, 41, 100, 2**31]:
         num = r_uint(num)
         assert space.unwrap_uint(space.wrap_uint(num)) == num
-    for num in [-1, -100, -sys.maxint]:
+    for num in [-1, -100]:
         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)
+
[email protected]("sys.maxint > 2147483647")
+def test_ruint_max():
+    from rpython.rlib.rarithmetic import r_uint
+    num = r_uint(sys.maxint + 1)
+    assert space.unwrap_uint(space.wrap_uint(num)) == num
+    num = -sys.maxint
+    py.test.raises(objspace.WrappingError, space.wrap_uint, num)
+
     
 
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to