[pypy-svn] r53356 - pypy/branch/jit-hotpath/pypy/jit/codegen/test

fijal at codespeak.net fijal at codespeak.net
Fri Apr 4 21:14:28 CEST 2008


Author: fijal
Date: Fri Apr  4 21:14:26 2008
New Revision: 53356

Modified:
   pypy/branch/jit-hotpath/pypy/jit/codegen/test/rgenop_tests.py
Log:
make tests more verbose - setarrayitem with constant


Modified: pypy/branch/jit-hotpath/pypy/jit/codegen/test/rgenop_tests.py
==============================================================================
--- pypy/branch/jit-hotpath/pypy/jit/codegen/test/rgenop_tests.py	(original)
+++ pypy/branch/jit-hotpath/pypy/jit/codegen/test/rgenop_tests.py	Fri Apr  4 21:14:26 2008
@@ -2179,13 +2179,15 @@
             rgenop.sigToken(FUNC3), 'generated')
         builder0.start_writing()
         v3 = builder0.genop_malloc_varsize(varsizealloctoken,
-                                           rgenop.genconst(2))
+                                           rgenop.genconst(3))
         v4 = builder0.genop1('ptr_iszero', v3)
         builder1 = builder0.jump_if_false(v4, [v2, v0, v3, v1])
         builder2 = builder0.pause_writing([])
         builder1.start_writing()
         builder1.genop_setarrayitem(arraytoken, v3, rgenop.genconst(0), v0)
         builder1.genop_setarrayitem(arraytoken, v3, rgenop.genconst(1), v1)
+        builder1.genop_setarrayitem(arraytoken, v3, rgenop.genconst(2),
+                                    rgenop.genconst(123))
         v5 = builder1.genop_getarrayitem(arraytoken, v3, v2)
         v6 = builder1.genop_getarraysize(arraytoken, v3)
         v7 = builder1.genop2('int_mul', v5, v6)
@@ -2206,7 +2208,9 @@
         
         fnptr = self.cast(gv_callable, 3)
         res = fnptr(21, -21, 0)
-        assert res == 42
+        assert res == 63
+        res = fnptr(21, -21, 2)
+        assert res == 123 * 3
 
     def test_array_of_floats(self):
         if self.RGenOpPacked is None:
@@ -2222,13 +2226,15 @@
             rgenop.sigToken(FUNC3), 'float_array')
         builder0.start_writing()
         v3 = builder0.genop_malloc_varsize(varsizealloctoken,
-                                           rgenop.genconst(2))
+                                           rgenop.genconst(3))
         v4 = builder0.genop1('ptr_iszero', v3)
         builder1 = builder0.jump_if_false(v4, [v2, v0, v3, v1])
         builder2 = builder0.pause_writing([])
         builder1.start_writing()
         builder1.genop_setarrayitem(arraytoken, v3, rgenop.genconst(0), v0)
         builder1.genop_setarrayitem(arraytoken, v3, rgenop.genconst(1), v1)
+        builder1.genop_setarrayitem(arraytoken, v3, rgenop.genconst(2),
+                                    rgenop.genconst(2.3))
         v5 = builder1.genop_getarrayitem(arraytoken, v3, v2)
         v6 = builder1.genop_getarraysize(arraytoken, v3)
         v6b = builder1.genop1('cast_int_to_float', v6)
@@ -2251,7 +2257,9 @@
         fnptr = self.cast_whatever(gv_callable, [lltype.Float]*2 +
                                    [lltype.Signed], lltype.Float)
         res = fnptr(3.1, -3.2, 1)
-        assert res == -6.4
+        assert res == -3.2 * 3
+        res = fnptr(3.1, -3.2, 2)
+        assert res == 2.3*3
 
     def test_interior_access(self):
         # for assembler backends, the 'interior' lloperations can be



More information about the Pypy-commit mailing list