[gtk/pixbuf-loader-check] Make testsuite fail if we lack pixbuf loaders




commit 50d42093b515ad32244029b7ef27300b3f2873f3
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Mar 25 21:22:23 2021 -0400

    Make testsuite fail if we lack pixbuf loaders
    
    Add a test that requires that we have png and jpeg
    loaders.

 testsuite/gdk/meson.build |  1 +
 testsuite/gdk/pixbuf.c    | 31 +++++++++++++++++++++++++++++++
 2 files changed, 32 insertions(+)
---
diff --git a/testsuite/gdk/meson.build b/testsuite/gdk/meson.build
index cc3125de37..5216d7a518 100644
--- a/testsuite/gdk/meson.build
+++ b/testsuite/gdk/meson.build
@@ -11,6 +11,7 @@ tests = [
   'encoding',
   'keysyms',
   'memorytexture',
+  'pixbuf',
   'rectangle',
   'rgba',
   'seat',
diff --git a/testsuite/gdk/pixbuf.c b/testsuite/gdk/pixbuf.c
new file mode 100644
index 0000000000..592f5d0d32
--- /dev/null
+++ b/testsuite/gdk/pixbuf.c
@@ -0,0 +1,31 @@
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+int
+main (int argc, char *argv[])
+{
+  GSList *formats;
+  gboolean have_png, have_jpeg;
+
+  have_png = FALSE;
+  have_jpeg = FALSE;
+
+  formats = gdk_pixbuf_get_formats ();
+
+  for (GSList *l = formats; l; l = l->next)
+    {
+      GdkPixbufFormat *format = l->data;
+      const char *name;
+
+      name = gdk_pixbuf_format_get_name (format);
+
+      if (strcmp (name, "png") == 0)
+        have_png = TRUE;
+      else if (strcmp (name, "jpeg") == 0)
+        have_jpeg = TRUE;
+    }
+
+  if (!have_png || !have_jpeg)
+    return 1;
+
+  return 0;
+}


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