Rebase patch series
authorSimon McVittie <smcv@debian.org>
Sun, 2 Jan 2022 14:51:20 +0000 (14:51 +0000)
committerSimon McVittie <smcv@debian.org>
Sun, 2 Jan 2022 14:51:20 +0000 (14:51 +0000)
debian/patches/debian/Disable-clipboard-test.patch [deleted file]
debian/patches/debian/Disable-web-fonts-for-now.patch
debian/patches/debian/Skip-some-known-failing-tests-on-mips-family-architecture.patch
debian/patches/debian/templates-Remove-html5shiv.patch
debian/patches/debian/testsuite-Don-t-test-the-old-gl-renderer.patch [deleted file]
debian/patches/reftest_compare_surfaces-Report-how-much-the-images-diffe.patch
debian/patches/reftests-Allow-minor-differences-to-be-tolerated.patch
debian/patches/series

diff --git a/debian/patches/debian/Disable-clipboard-test.patch b/debian/patches/debian/Disable-clipboard-test.patch
deleted file mode 100644 (file)
index 3b553ab..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From: Simon McVittie <smcv@debian.org>
-Date: Fri, 3 Sep 2021 15:08:08 +0100
-Subject: Disable clipboard test
-
-This regularly times out on buildds, but I can't reproduce the hang
-locally.
-
-Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/4229
-Forwarded: no
----
- testsuite/gdk/meson.build | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/testsuite/gdk/meson.build b/testsuite/gdk/meson.build
-index 5e62e98..af872f7 100644
---- a/testsuite/gdk/meson.build
-+++ b/testsuite/gdk/meson.build
-@@ -12,7 +12,6 @@ clipboard_client = executable('clipboard-client',
- tests = [
-   'array',
-   'cairo',
--  'clipboard',
-   'contentformats',
-   'contentserializer',
-   'cursor',
index 9bec7eab0f78fad389f2382e08b6299fca81d129..4263fa29f8a1f7c92c44d1734562c9c69c2dfaeb 100644 (file)
@@ -197,7 +197,7 @@ index ce790e7..0a01b93 100644
 -  font-display: swap;
 -}
 diff --git a/subprojects/gi-docgen/gidocgen/templates/basic/style.css b/subprojects/gi-docgen/gidocgen/templates/basic/style.css
-index 889bbe8..89f0e4e 100644
+index 4a92097..7fd9a68 100644
 --- a/subprojects/gi-docgen/gidocgen/templates/basic/style.css
 +++ b/subprojects/gi-docgen/gidocgen/templates/basic/style.css
 @@ -7,8 +7,6 @@
index 434489a09fe60b5ddb841686d83bbfedfcde5736..496a2f2ceb474812de5db485621afd19164d2907 100644 (file)
@@ -8,10 +8,10 @@ Forwarded: no
  1 file changed, 8 insertions(+), 2 deletions(-)
 
 diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build
-index d225653..683e3d4 100644
+index 71e18f8..fb42e30 100644
 --- a/testsuite/gsk/meson.build
 +++ b/testsuite/gsk/meson.build
-@@ -73,15 +73,21 @@ compare_render_tests = [
+@@ -75,15 +75,21 @@ compare_render_tests = [
    'scale-up-down',
    'shadow-in-opacity',
    'texture-url',
index 87df271b3f17ba0068654953dd68bacba03588a1..dd4cffa84278dcaa4eafd506a7efbc8f19bbfa99 100644 (file)
@@ -9,10 +9,10 @@ references to external resources that can be a privacy breach.
  1 file changed, 1 deletion(-)
 
 diff --git a/subprojects/gi-docgen/gidocgen/templates/basic/base.html b/subprojects/gi-docgen/gidocgen/templates/basic/base.html
-index 963a73e..ace1da3 100644
+index 36598ba..a1be4ab 100644
 --- a/subprojects/gi-docgen/gidocgen/templates/basic/base.html
 +++ b/subprojects/gi-docgen/gidocgen/templates/basic/base.html
-@@ -47,7 +47,6 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
+@@ -52,7 +52,6 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
    <script src="search.js"></script>
    {% endif %}
    <script src="main.js"></script>
diff --git a/debian/patches/debian/testsuite-Don-t-test-the-old-gl-renderer.patch b/debian/patches/debian/testsuite-Don-t-test-the-old-gl-renderer.patch
deleted file mode 100644 (file)
index d5f04ae..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-From: Simon McVittie <smcv@debian.org>
-Date: Thu, 2 Sep 2021 22:44:21 +0100
-Subject: testsuite: Don't test the old gl renderer
-
-This was removed in GTK 4.5, and two of its tests crash when run on
-mipsel.
-
-Forwarded: not-needed, upstream removed this renderer already
----
- testsuite/gsk/meson.build | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build
-index e6901e5..d225653 100644
---- a/testsuite/gsk/meson.build
-+++ b/testsuite/gsk/meson.build
-@@ -92,7 +92,6 @@ informative_render_tests = [
- renderers = [
-   # name      exclude term
--  [ 'gl', '-ngl'    ],
-   [ 'ngl', ''    ],
-   [ 'broadway',  '-3d' ],
-   [ 'cairo',  '-3d' ],
index 47811abfe7a6722b8b85899e7a264e48aceb318e..40dabe4fc486c04df7cb0cb8645a0c666eae225c 100644 (file)
@@ -10,44 +10,44 @@ Signed-off-by: Simon McVittie <smcv@debian.org>
 Forwarded: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3195
 Applied-upstream: no, upstream want reftests to be a strict pass/fail with identical results required
 ---
- testsuite/gsk/compare-render.c       | 10 +++++++++-
+ testsuite/gsk/compare-render.c       |  9 ++++++++-
  testsuite/reftests/gtk-reftest.c     |  9 ++++++++-
  testsuite/reftests/reftest-compare.c | 28 +++++++++++++++++++++++++---
  testsuite/reftests/reftest-compare.h |  5 ++++-
- 4 files changed, 46 insertions(+), 6 deletions(-)
+ 4 files changed, 45 insertions(+), 6 deletions(-)
 
 diff --git a/testsuite/gsk/compare-render.c b/testsuite/gsk/compare-render.c
-index a62252a..9742358 100644
+index 919957e..7145363 100644
 --- a/testsuite/gsk/compare-render.c
 +++ b/testsuite/gsk/compare-render.c
-@@ -236,11 +236,19 @@ main (int argc, char **argv)
-     }
+@@ -227,12 +227,19 @@ main (int argc, char **argv)
    else
      {
+       GdkTexture *diff_texture;
 +      guint max_diff = 0;
 +      guint pixels_changed = 0;
 +      guint pixels = 0;
-+
        /* Now compare the two */
--      diff_surface = reftest_compare_surfaces (rendered_surface, reference_surface);
-+      diff_surface = reftest_compare_surfaces (rendered_surface, reference_surface,
+-      diff_texture = reftest_compare_textures (rendered_texture, reference_texture);
++      diff_texture = reftest_compare_textures (rendered_texture, reference_texture,
 +                                               &max_diff, &pixels_changed, &pixels);
  
-       if (diff_surface)
+       if (diff_texture)
          {
 +          g_print ("%u (out of %u) pixels differ from reference by up to %u levels\n",
 +                   pixels_changed, pixels, max_diff);
 +
-           save_image (diff_surface, node_file, ".diff.png");
-           cairo_surface_destroy (diff_surface);
+           save_image (diff_texture, node_file, ".diff.png");
+           g_object_unref (diff_texture);
            success = FALSE;
 diff --git a/testsuite/reftests/gtk-reftest.c b/testsuite/reftests/gtk-reftest.c
-index cd15396..3ae5413 100644
+index 3872f55..12d202f 100644
 --- a/testsuite/reftests/gtk-reftest.c
 +++ b/testsuite/reftests/gtk-reftest.c
-@@ -298,6 +298,9 @@ test_ui_file (GFile *file)
+@@ -331,6 +331,9 @@ test_ui_file (GFile *file)
    char *ui_file, *reference_file;
-   cairo_surface_t *ui_image, *reference_image, *diff_image;
+   GdkTexture *ui_image, *reference_image, *diff_image;
    GtkStyleProvider *provider;
 +  guint max_diff = 0;
 +  guint pixels_changed = 0;
@@ -55,12 +55,12 @@ index cd15396..3ae5413 100644
  
    ui_file = g_file_get_path (file);
  
-@@ -317,12 +320,16 @@ test_ui_file (GFile *file)
-     }
-   g_free (reference_file);
+@@ -362,12 +365,16 @@ test_ui_file (GFile *file)
+   if (reference_image == NULL)
+     reference_image = gdk_memory_texture_new (1, 1, GDK_MEMORY_DEFAULT, g_bytes_new ((guchar[4]) {0, 0, 0, 0}, 4), 4);
  
--  diff_image = reftest_compare_surfaces (ui_image, reference_image);
-+  diff_image = reftest_compare_surfaces (ui_image, reference_image,
+-  diff_image = reftest_compare_textures (ui_image, reference_image);
++  diff_image = reftest_compare_textures (ui_image, reference_image,
 +                                         &max_diff, &pixels_changed, &pixels);
  
    save_image (ui_image, ui_file, ".out.png");
@@ -70,14 +70,14 @@ index cd15396..3ae5413 100644
      {
 +      g_test_message ("%u (out of %u) pixels differ from reference by up to %u levels",
 +                      pixels_changed, pixels, max_diff);
+       save_node (g_object_get_data (G_OBJECT (ui_image), "source-render-node"), ui_file, ".out.node");
+       save_node (g_object_get_data (G_OBJECT (reference_image), "source-render-node"), ui_file, ".ref.node");
        save_image (diff_image, ui_file, ".diff.png");
-       cairo_surface_destroy (diff_image);
-       g_test_fail ();
 diff --git a/testsuite/reftests/reftest-compare.c b/testsuite/reftests/reftest-compare.c
-index 5bccb69..ac72c61 100644
+index bb6c6eb..202fcf5 100644
 --- a/testsuite/reftests/reftest-compare.c
 +++ b/testsuite/reftests/reftest-compare.c
-@@ -83,12 +83,16 @@ buffer_diff_core (const guchar *buf_a,
+@@ -35,12 +35,16 @@ buffer_diff_core (const guchar *buf_a,
                  const guchar *buf_b,
                    int           stride_b,
                  int           width,
@@ -89,13 +89,13 @@ index 5bccb69..ac72c61 100644
    int x, y;
    guchar *buf_diff = NULL;
    int stride_diff = 0;
-   cairo_surface_t *diff = NULL;
+   GdkTexture *diff = NULL;
 +  guint max_diff = 0;
 +  guint pixels_changed = 0;
  
    for (y = 0; y < height; y++)
      {
-@@ -129,6 +133,10 @@ buffer_diff_core (const guchar *buf_a,
+@@ -84,6 +88,10 @@ buffer_diff_core (const guchar *buf_a,
                guint channel_diff;
  
                channel_diff = ABS (value_a - value_b);
@@ -106,7 +106,7 @@ index 5bccb69..ac72c61 100644
                channel_diff *= 4;  /* emphasize */
                if (channel_diff)
                  channel_diff += 128; /* make sure it's visible */
-@@ -137,6 +145,8 @@ buffer_diff_core (const guchar *buf_a,
+@@ -92,6 +100,8 @@ buffer_diff_core (const guchar *buf_a,
                diff_pixel |= channel_diff << (channel * 8);
              }
  
@@ -115,7 +115,7 @@ index 5bccb69..ac72c61 100644
            if ((diff_pixel & 0x00ffffff) == 0)
              {
                /* alpha only difference, convert to luminance */
-@@ -148,12 +158,21 @@ buffer_diff_core (const guchar *buf_a,
+@@ -105,12 +115,21 @@ buffer_diff_core (const guchar *buf_a,
        }
    }
  
@@ -128,42 +128,41 @@ index 5bccb69..ac72c61 100644
    return diff;
  }
  
cairo_surface_t *
- reftest_compare_surfaces (cairo_surface_t *surface1,
--                          cairo_surface_t *surface2)
-+                          cairo_surface_t *surface2,
-+                          guint           *max_diff_out,
-+                          guint           *pixels_changed_out,
-+                          guint           *pixels_out)
GdkTexture *
+ reftest_compare_textures (GdkTexture *texture1,
+-                          GdkTexture *texture2)
++                          GdkTexture *texture2,
++                          guint      *max_diff_out,
++                          guint      *pixels_changed_out,
++                          guint      *pixels_out)
  {
-   int w1, h1, w2, h2, w, h;
-   cairo_surface_t *coerced1, *coerced2, *diff;
-@@ -169,11 +188,14 @@ reftest_compare_surfaces (cairo_surface_t *surface1,
-                            cairo_image_surface_get_stride (coerced1),
-                            cairo_image_surface_get_data (coerced2),
-                            cairo_image_surface_get_stride (coerced2),
+   int w, h;
+   guchar *data1, *data2;
+@@ -126,10 +145,13 @@ reftest_compare_textures (GdkTexture *texture1,
+   diff = buffer_diff_core (data1, w * 4,
+                            data2, w * 4,
 -                           w, h);
 +                           w, h, max_diff_out, pixels_changed_out);
  
-   cairo_surface_destroy (coerced1);
-   cairo_surface_destroy (coerced2);
+   g_free (data1);
+   g_free (data2);
  
 +  if (pixels_out != NULL)
 +    *pixels_out = w * h;
 +
    return diff;
  }
 diff --git a/testsuite/reftests/reftest-compare.h b/testsuite/reftests/reftest-compare.h
-index 551b1c5..c6e001c 100644
+index d5e02a1..b71636e 100644
 --- a/testsuite/reftests/reftest-compare.h
 +++ b/testsuite/reftests/reftest-compare.h
 @@ -24,7 +24,10 @@ G_BEGIN_DECLS
  
  G_MODULE_EXPORT
cairo_surface_t *       reftest_compare_surfaces        (cairo_surface_t        *surface1,
--                                                         cairo_surface_t        *surface2);
-+                                                         cairo_surface_t        *surface2,
GdkTexture *            reftest_compare_textures        (GdkTexture             *texture1,
+-                                                         GdkTexture             *texture2);
++                                                         GdkTexture             *texture2,
 +                                                         guint                  *max_diff_out,
 +                                                         guint                  *pixels_changed_out,
 +                                                         guint                  *pixels_out);
index ac73d110e8a321ab28f1da2334c259c985df21e0..aeae1c951cb68732cdaded31b2b5226c0f5fe2a9 100644 (file)
@@ -28,7 +28,7 @@ Applied-upstream: no, upstream want reftests to be a strict pass/fail with ident
  3 files changed, 62 insertions(+), 3 deletions(-)
 
 diff --git a/testsuite/gsk/compare-render.c b/testsuite/gsk/compare-render.c
-index 9742358..cd6bf50 100644
+index 7145363..2d5fdf9 100644
 --- a/testsuite/gsk/compare-render.c
 +++ b/testsuite/gsk/compare-render.c
 @@ -98,6 +98,12 @@ get_output_file (const char *file,
@@ -42,11 +42,11 @@ index 9742358..cd6bf50 100644
 +}
 +
  static void
- save_image (cairo_surface_t *surface,
-             const char      *test_name,
-@@ -246,12 +252,35 @@ main (int argc, char **argv)
+ save_image (GdkTexture *texture,
+             const char *test_name,
+@@ -237,12 +243,35 @@ main (int argc, char **argv)
  
-       if (diff_surface)
+       if (diff_texture)
          {
 +          char *keyfile_path = get_test_keyfile (node_file);
 +          GKeyFile *keyfile = g_key_file_new ();
@@ -67,8 +67,8 @@ index 9742358..cd6bf50 100644
            g_print ("%u (out of %u) pixels differ from reference by up to %u levels\n",
                     pixels_changed, pixels, max_diff);
  
-           save_image (diff_surface, node_file, ".diff.png");
-           cairo_surface_destroy (diff_surface);
+           save_image (diff_texture, node_file, ".diff.png");
+           g_object_unref (diff_texture);
 -          success = FALSE;
 +
 +          if (max_diff <= tolerated_diff && pixels_changed <= tolerated_pixels)
@@ -82,10 +82,10 @@ index 9742358..cd6bf50 100644
      }
  
 diff --git a/testsuite/reftests/gtk-reftest.c b/testsuite/reftests/gtk-reftest.c
-index 3ae5413..f2fd60e 100644
+index 12d202f..5970b1d 100644
 --- a/testsuite/reftests/gtk-reftest.c
 +++ b/testsuite/reftests/gtk-reftest.c
-@@ -292,6 +292,12 @@ save_image (cairo_surface_t *surface,
+@@ -292,6 +292,12 @@ save_image (GdkTexture *texture,
    g_free (filename);
  }
  
@@ -96,9 +96,9 @@ index 3ae5413..f2fd60e 100644
 +}
 +
  static void
- test_ui_file (GFile *file)
- {
-@@ -328,11 +334,35 @@ test_ui_file (GFile *file)
+ save_node (GskRenderNode *node,
+            const char    *test_name,
+@@ -373,13 +379,37 @@ test_ui_file (GFile *file)
  
    if (diff_image)
      {
@@ -121,8 +121,10 @@ index 3ae5413..f2fd60e 100644
        g_test_message ("%u (out of %u) pixels differ from reference by up to %u levels",
                        pixels_changed, pixels, max_diff);
 +
+       save_node (g_object_get_data (G_OBJECT (ui_image), "source-render-node"), ui_file, ".out.node");
+       save_node (g_object_get_data (G_OBJECT (reference_image), "source-render-node"), ui_file, ".ref.node");
        save_image (diff_image, ui_file, ".diff.png");
-       cairo_surface_destroy (diff_image);
+       g_object_unref (diff_image);
 -      g_test_fail ();
 +
 +      if (max_diff <= tolerated_diff && pixels_changed <= tolerated_pixels)
@@ -136,15 +138,15 @@ index 3ae5413..f2fd60e 100644
  
    remove_extra_css (provider);
 diff --git a/testsuite/reftests/image-compare.c b/testsuite/reftests/image-compare.c
-index 07bb79e..714f4fc 100644
+index dd9c26c..e68a161 100644
 --- a/testsuite/reftests/image-compare.c
 +++ b/testsuite/reftests/image-compare.c
-@@ -41,7 +41,7 @@ main (int argc, char **argv)
-   image1 = cairo_image_surface_create_from_png (argv[1]);
-   image2 = cairo_image_surface_create_from_png (argv[2]);
+@@ -51,7 +51,7 @@ main (int argc, char **argv)
+       exit (1);
+     }
  
--  diff = reftest_compare_surfaces (image1, image2);
-+  diff = reftest_compare_surfaces (image1, image2, NULL, NULL, NULL);
+-  diff = reftest_compare_textures (image1, image2);
++  diff = reftest_compare_textures (image1, image2, NULL, NULL, NULL);
  
    if (opt_filename && diff)
-     cairo_surface_write_to_png (diff, opt_filename);
+     {
index 125a73b22d6c4c1131ee826aa8116cb77ff78c37..d02e0fdcb1c71894c912a6df19fd62da3f74b3a2 100644 (file)
@@ -2,6 +2,4 @@ reftest_compare_surfaces-Report-how-much-the-images-diffe.patch
 reftests-Allow-minor-differences-to-be-tolerated.patch
 debian/Disable-web-fonts-for-now.patch
 debian/templates-Remove-html5shiv.patch
-debian/testsuite-Don-t-test-the-old-gl-renderer.patch
 debian/Skip-some-known-failing-tests-on-mips-family-architecture.patch
-debian/Disable-clipboard-test.patch