summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Avison <bavison@riscosopen.org>2015-05-29 16:20:43 +0100
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2015-06-01 13:11:15 +0300
commit62a772f2ea9ec14b0240c0cc62e174ffa98ee2cc (patch)
treea9d1f71c969b533421b92b4c96fd3f0199b421af
parent82f9b4faaf1aa63ec26b0dfd227f1a8e5e139ae2 (diff)
test: Fix solid-test for big-endian targets
When generating test data, we need to make sure the interpretation of the data is the same regardless of endianess. That is, the pixel value for each channel is the same on both little and big-endians. This fixes a test failure on ppc64 (big-endian). Tested-by: Fernando Seiti Furusato <ferseiti@linux.vnet.ibm.com> (ppc64le, ppc64, powerpc) Tested-by: Ben Avison <bavison@riscosopen.org> (armv6l, armv7l, i686) [Pekka: added commit message] Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> (x86_64)
-rw-r--r--test/solid-test.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/test/solid-test.c b/test/solid-test.c
index 7be5466..c6ea397 100644
--- a/test/solid-test.c
+++ b/test/solid-test.c
@@ -237,7 +237,7 @@ create_solid_image (const pixman_format_code_t *allowed_formats,
pixman_image_unref (dummy_img);
/* Now set the bitmap contents to a random value */
- *buffer = prng_rand ();
+ prng_randmemset (buffer, 4, 0);
image_endian_swap (img);
if (used_fmt)
@@ -251,7 +251,10 @@ create_solid_image (const pixman_format_code_t *allowed_formats,
pixman_color_t color;
pixman_image_t *img;
- prng_randmemset (&color, sizeof color, 0);
+ color.alpha = prng_rand_n (UINT16_MAX + 1);
+ color.red = prng_rand_n (UINT16_MAX + 1);
+ color.green = prng_rand_n (UINT16_MAX + 1);
+ color.blue = prng_rand_n (UINT16_MAX + 1);
img = pixman_image_create_solid_fill (&color);
if (used_fmt)
@@ -345,6 +348,6 @@ main (int argc, const char *argv[])
}
return fuzzer_test_main ("solid", 500000,
- 0x1B6DFF8D,
+ 0xC30FD380,
test_solid, argc, argv);
}