summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-09-22 16:37:04 +0200
committerLudovic Courtès <ludo@gnu.org>2021-09-22 16:37:04 +0200
commit5b674fe5c317425405075c0deab222cbaed80d83 (patch)
treefe458fa7b2287d8a23f3d2a9dd10d348029feaec /gnu
parentd58e52b0713648dd30d41b41277854a935d8d15a (diff)
downloadguix-5b674fe5c317425405075c0deab222cbaed80d83.tar.gz
gnu: glib: Actually skip tests that fail on i686.
* gnu/packages/glib.scm (glib)[arguments]: In 'disable-failing-tests'
phase, when 'target-x86-32?' returns true, skip several tests in
timer.c.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/glib.scm15
1 files changed, 7 insertions, 8 deletions
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index fd57041768..6373fd0da9 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -232,16 +232,15 @@ shared NFS home directories.")
                               "gdbus-peer.c" "appinfo.c" "desktop-app-info.c")
                  (("[ \t]*g_test_add_func.*;") "")))
 
-             ,@(if (let ((system (or (%current-target-system)
-                                     (%current-system))))
-                     (or (string-prefix? "i686-" system)
-                         (string-prefix? "i586-" system)))
-                   ;; Add the 'volatile' qualifier for doubles to avoid excess
-                   ;; precision, which leads to test failures:
+             ,@(if (target-x86-32?)
+                   ;; Comment out parts of timer.c that fail on i686 due to
+                   ;; excess precision when building with GCC 10:
                    ;; <https://gitlab.gnome.org/GNOME/glib/-/issues/820>.
                    '((substitute* "glib/tests/timer.c"
-                       (("gdouble elapsed")
-                        "volatile gdouble elapsed")))
+                       (("^  g_assert_cmpuint \\(micros.*" all)
+                        (string-append "//" all "\n"))
+                       (("^  g_assert_cmpfloat \\(elapsed, ==.*" all)
+                        (string-append "//" all "\n"))))
                    '())
              #t))
          ;; Python references are not being patched in patch-phase of build,