[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