Author: Armin Rigo <ar...@tunes.org>
Branch: py3k
Changeset: r87325:6208459577ec
Date: 2016-09-22 15:51 +0200
http://bitbucket.org/pypy/pypy/changeset/6208459577ec/

Log:    Test and fix

diff --git a/pypy/objspace/std/memoryobject.py 
b/pypy/objspace/std/memoryobject.py
--- a/pypy/objspace/std/memoryobject.py
+++ b/pypy/objspace/std/memoryobject.py
@@ -198,17 +198,17 @@
 
 
     def _start_from_tuple(self, space, w_tuple):
-        from pypy.objspace.std.tupleobject import W_TupleObject
+        from pypy.objspace.std.tupleobject import W_AbstractTupleObject
         start = 0
 
         view = self.buf
         length = space.len_w(w_tuple)
         dim = view.getndim()
         dim = 0
-        assert isinstance(w_tuple, W_TupleObject)
+        assert isinstance(w_tuple, W_AbstractTupleObject)
         while dim < length:
             w_obj = w_tuple.getitem(space, dim)
-            index = w_obj.int_w(space)
+            index = space.getindex_w(w_obj, space.w_IndexError)
             start = self.lookup_dimension(space, start, dim, index)
             dim += 1
         return start
diff --git a/pypy/objspace/std/test/test_memoryobject.py 
b/pypy/objspace/std/test/test_memoryobject.py
--- a/pypy/objspace/std/test/test_memoryobject.py
+++ b/pypy/objspace/std/test/test_memoryobject.py
@@ -323,7 +323,8 @@
         assert view[-1,-1] == 11
         assert view[-3,-4] == 0
 
-        raises(IndexError, "view.__getitem__((2**63-1,0))")
+        raises(IndexError, "view.__getitem__((2**31-1, 0))")
+        raises(IndexError, "view.__getitem__((2**63+1, 0))")
         raises(TypeError, "view.__getitem__((0, 0, 0))")
 
     def test_tuple_indexing_int(self):
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to