[pypy-svn] r78062 - pypy/branch/jit-sign-descr/pypy/jit/backend/llsupport/test

arigo at codespeak.net arigo at codespeak.net
Mon Oct 18 19:08:42 CEST 2010


Author: arigo
Date: Mon Oct 18 19:08:41 2010
New Revision: 78062

Modified:
   pypy/branch/jit-sign-descr/pypy/jit/backend/llsupport/test/test_descr.py
Log:
Write tests for the descrs.  Not implemented so far.


Modified: pypy/branch/jit-sign-descr/pypy/jit/backend/llsupport/test/test_descr.py
==============================================================================
--- pypy/branch/jit-sign-descr/pypy/jit/backend/llsupport/test/test_descr.py	(original)
+++ pypy/branch/jit-sign-descr/pypy/jit/backend/llsupport/test/test_descr.py	Mon Oct 18 19:08:41 2010
@@ -83,6 +83,18 @@
         assert     descr_f.is_float_field()
 
 
+def test_get_field_descr_sign():
+    for RESTYPE, signed in [(rffi.SIGNEDCHAR, True), (rffi.UCHAR,  False),
+                            (rffi.SHORT,      True), (rffi.USHORT, False),
+                            (rffi.INT,        True), (rffi.UINT,   False),
+                            (rffi.LONG,       True), (rffi.ULONG,  False)]:
+        S = lltype.GcStruct('S', ('x', RESTYPE))
+        for tsc in [False, True]:
+            c2 = GcCache(tsc)
+            descr_x = get_field_descr(c2, S, 'x')
+            assert descr_x.is_field_signed() == signed
+
+
 def test_get_array_descr():
     U = lltype.Struct('U')
     T = lltype.GcStruct('T')
@@ -164,6 +176,25 @@
     assert descr.get_base_size(False) == 0
     assert descr.get_ofs_length(False) == -1
 
+
+def test_get_array_descr_sign():
+    for RESTYPE, signed in [(rffi.SIGNEDCHAR, True), (rffi.UCHAR,  False),
+                            (rffi.SHORT,      True), (rffi.USHORT, False),
+                            (rffi.INT,        True), (rffi.UINT,   False),
+                            (rffi.LONG,       True), (rffi.ULONG,  False)]:
+        A = lltype.GcArray(RESTYPE)
+        for tsc in [False, True]:
+            c2 = GcCache(tsc)
+            arraydescr = get_array_descr(c2, A)
+            assert arraydescr.is_item_signed() == signed
+        #
+        RA = rffi.CArray(RESTYPE)
+        for tsc in [False, True]:
+            c2 = GcCache(tsc)
+            arraydescr = get_array_descr(c2, RA)
+            assert arraydescr.is_item_signed() == signed
+
+
 def test_get_call_descr_not_translated():
     c0 = GcCache(False)
     descr1 = get_call_descr(c0, [lltype.Char, lltype.Signed], lltype.Char)
@@ -219,6 +250,17 @@
     extrainfo = descr3.get_extra_info()
     assert extrainfo is None
 
+def test_get_call_descr_sign():
+    for RESTYPE, signed in [(rffi.SIGNEDCHAR, True), (rffi.UCHAR,  False),
+                            (rffi.SHORT,      True), (rffi.USHORT, False),
+                            (rffi.INT,        True), (rffi.UINT,   False),
+                            (rffi.LONG,       True), (rffi.ULONG,  False)]:
+        A = lltype.GcArray(RESTYPE)
+        for tsc in [False, True]:
+            c2 = GcCache(tsc)
+            descr1 = get_call_descr(c2, [], RESTYPE)
+            assert descr1.is_result_signed() == signed
+
 
 def test_repr_of_descr():
     c0 = GcCache(False)



More information about the Pypy-commit mailing list