Author: Richard Plangger <planri...@gmail.com>
Branch: s390x-backend
Changeset: r81835:58481ef6fdd3
Date: 2016-01-18 15:22 +0100
http://bitbucket.org/pypy/pypy/changeset/58481ef6fdd3/

Log:    modified 2 tests, first used void pointer instead of int pointer
        (thus qsort did not sort), the second writes to a union but on a 64
        bit big endian machine this byte ends up in the MSB of the result
        instead of the LSB

diff --git a/rpython/rtyper/lltypesystem/test/test_ll2ctypes.py 
b/rpython/rtyper/lltypesystem/test/test_ll2ctypes.py
--- a/rpython/rtyper/lltypesystem/test/test_ll2ctypes.py
+++ b/rpython/rtyper/lltypesystem/test/test_ll2ctypes.py
@@ -945,6 +945,11 @@
         a[4] = rffi.r_int(4)
 
         def compare(a, b):
+            # do not use a,b directly! on a big endian machine
+            # ((void*)ptr)[0] will return 0x0 if the 32 bit value
+            # ptr points to is 0x1
+            a = rffi.cast(rffi.INTP, a)
+            b = rffi.cast(rffi.INTP, b)
             if a[0] > b[0]:
                 return rffi.r_int(1)
             else:
diff --git a/rpython/translator/c/test/test_lltyped.py 
b/rpython/translator/c/test/test_lltyped.py
--- a/rpython/translator/c/test/test_lltyped.py
+++ b/rpython/translator/c/test/test_lltyped.py
@@ -236,7 +236,9 @@
 
         fn = self.getcompiled(llf, [int])
         res = fn(0x33)
-        assert res in [0x10203033, 0x33203040]
+        assert res in [0x10203033, 0x33203040,
+                       # big endian 64 bit machine
+                       0x3300000010203040]
 
     def test_sizeof_void_array(self):
         from rpython.rtyper.lltypesystem import llmemory
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to