[gtk/wip/otte/memoryformat: 6/6] testsuite: Fail more accurately




commit 2e555db9a4210480360cde2770981daf22a74619
Author: Benjamin Otte <otte redhat com>
Date:   Wed Oct 6 22:17:33 2021 +0200

    testsuite: Fail more accurately
    
    Don't run the full test and then return "something failed" - instead
    just explode when you find the failure.

 testsuite/gdk/texture.c | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)
---
diff --git a/testsuite/gdk/texture.c b/testsuite/gdk/texture.c
index fc1f728c7c..1a218ddd4a 100644
--- a/testsuite/gdk/texture.c
+++ b/testsuite/gdk/texture.c
@@ -1,6 +1,6 @@
 #include <gtk.h>
 
-static gboolean
+static void
 compare_pixels (int     width,
                 int     height,
                 guchar *data1,
@@ -8,15 +8,17 @@ compare_pixels (int     width,
                 guchar *data2,
                 gsize   stride2)
 {
-  int i;
-  for (i = 0; i < height; i++)
+  int x, y;
+  for (y = 0; y < height; y++)
     {
-      gconstpointer p1 = data1 + i * stride1;
-      gconstpointer p2 = data2 + i * stride2;
-      if (memcmp (p1, p2, width * 4) != 0)
-        return FALSE;
+      const guint32 *p1 = (const guint32*) (data1 + y * stride1);
+      const guint32 *p2 = (const guint32*) (data2 + y * stride2);
+
+      for (x = 0; x < width; x++)
+        {
+          g_assert_cmphex (p1[x], ==, p2[x]);
+        }
     }
-  return TRUE;
 }
 
 static void
@@ -55,10 +57,10 @@ test_texture_from_pixbuf (void)
   cairo_paint (cr);
   cairo_destroy (cr);
 
-  g_assert_true (compare_pixels (width, height,
-                                 data, stride,
-                                 cairo_image_surface_get_data (surface),
-                                 cairo_image_surface_get_stride (surface)));
+  compare_pixels (width, height,
+                  data, stride,
+                  cairo_image_surface_get_data (surface),
+                  cairo_image_surface_get_stride (surface));
 
   g_free (data);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]