From 50d42093b515ad32244029b7ef27300b3f2873f3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 25 Mar 2021 21:22:23 -0400 Subject: [PATCH] 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(+) create mode 100644 testsuite/gdk/pixbuf.c 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 + +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; +}