[Pixman] [PATCH] test: Make glyph test pass on big endian

Søren Sandmann sandmann at cs.au.dk
Mon Jun 11 04:13:58 PDT 2012


From: Søren Sandmann Pedersen <ssp at redhat.com>

The destination buffer was initialized with 32 bit data, so it started
out different on big-endian vs. little endian. Fix that by
initializing the buffer with random bytes instead.
---
 test/glyph-test.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/test/glyph-test.c b/test/glyph-test.c
index 9ff2a2b..0fb6641 100644
--- a/test/glyph-test.c
+++ b/test/glyph-test.c
@@ -150,9 +150,13 @@ create_image (int max_size, const pixman_format_code_t *formats, uint32_t flags)
     }
     else
     {
+	uint8_t *d8;
+
 	data = malloc (stride * height);
-	for (i = 0; i < height * stride / 4; ++i)
-	    data[i] = lcg_rand_u32();
+
+	d8 = (uint8_t *)data;
+	for (i = 0; i < height * stride; ++i)
+	    d8[i] = lcg_rand_n (256);
 
 	destroy = destroy_malloced;
     }
@@ -326,6 +330,6 @@ int
 main (int argc, const char *argv[])
 {
     return fuzzer_test_main ("glyph", 30000,
-			     0xA2B67F99,
+			     0x1B7696A2,
 			     test_glyphs, argc, argv);
 }
-- 
1.7.4



More information about the Pixman mailing list