Add trap-crasher.c test program
authorSøren Sandmann Pedersen <sandmann@redhat.com>
Sat, 25 Apr 2009 01:35:46 +0000 (21:35 -0400)
committerSøren Sandmann Pedersen <sandmann@redhat.com>
Sat, 25 Apr 2009 01:39:33 +0000 (21:39 -0400)
Based off of Pavel Kankovsky's test case in bug 16560.

test/Makefile.am
test/trap-crasher.c [new file with mode: 0644]

index cccb6f8..1beac5b 100644 (file)
@@ -4,11 +4,13 @@ INCLUDES = -I$(top_srcdir)/pixman -I$(top_builddir)/pixman
 TESTPROGRAMS =                 \
        region-test             \
        scaling-test            \
-       fetch-test
+       fetch-test              \
+       trap-crasher
 
 fetch_test_LDADD = $(TEST_LDADD)
 region_test_LDADD = $(TEST_LDADD)
 scaling_test_LDADD = $(TEST_LDADD)
+trap_crasher_LDADD = $(TEST_LDADD)
 
 # GTK using test programs
 
diff --git a/test/trap-crasher.c b/test/trap-crasher.c
new file mode 100644 (file)
index 0000000..42b82f6
--- /dev/null
@@ -0,0 +1,27 @@
+#include <stdlib.h>
+#include <pixman.h>
+
+int
+main()
+{
+    pixman_image_t *dst;
+    pixman_trapezoid_t traps[1] = {
+       {
+           .top = 2147483646,
+           .bottom = 2147483647,
+           .left = {
+               .p1 = { .x = 0, .y = 0 },
+               .p2 = { .x = 0, .y = 2147483647 }
+           },
+           .right = {
+               .p1 = { .x = 65536, .y = 0 },
+               .p2 = { .x = 0, .y = 2147483647 }
+           }
+       },
+    };
+    
+    dst = pixman_image_create_bits (PIXMAN_a8, 1, 1, NULL, -1);
+    
+    pixman_add_trapezoids (dst, 0, 0, sizeof (traps)/sizeof (traps[0]), traps);
+    return (0);
+}