testsuite: Add workarounds for non-gl backends
authorBenjamin Otte <otte@redhat.com>
Mon, 18 Oct 2021 11:38:35 +0000 (13:38 +0200)
committerBenjamin Otte <otte@redhat.com>
Mon, 18 Oct 2021 12:17:11 +0000 (14:17 +0200)
read: Fix tests for broadway

testsuite/gdk/memorytexture.c
testsuite/gdk/texture-threads.c

index 806f7f1d0a4fca8e5d924a1014731eea8fa549ec..03f8634c3fcb5d02e9902113ebcbb2c4309227ce 100644 (file)
@@ -526,7 +526,8 @@ create_texture (GdkMemoryFormat  format,
 
     case TEXTURE_METHOD_GL_RELEASED:
       texture = upload_to_gl (texture);
-      gdk_gl_texture_release (GDK_GL_TEXTURE (texture));
+      if (GDK_IS_GL_TEXTURE (texture))
+        gdk_gl_texture_release (GDK_GL_TEXTURE (texture));
       break;
 
     case TEXTURE_METHOD_PNG:
index 11598812bf99d0ad7daea859681e0a493a9fe79a..5ca16e0ec51902f0cd3540dd2f4f100527a7abf7 100644 (file)
@@ -70,11 +70,20 @@ texture_threads (void)
   GMainLoop *loop;
   GdkTexture *texture;
   GTask *task;
+  GError *error = NULL;
 
   /* 1. Get a GL renderer */
   surface = gdk_surface_new_toplevel (gdk_display_get_default());
   gl_renderer = gsk_gl_renderer_new ();
-  g_assert_true (gsk_renderer_realize (gl_renderer, surface, NULL));
+  if (!gsk_renderer_realize (gl_renderer, surface, &error))
+    {
+      g_test_skip (error->message);
+
+      g_clear_error (&error);
+      g_clear_object (&gl_renderer);
+      g_clear_object (&surface);
+      return;
+    }
 
   /* 2. Get a GL texture */
   node = gsk_color_node_new (&(GdkRGBA) { 1, 0, 0, 1 }, &GRAPHENE_RECT_INIT(0, 0, 1, 1));