summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2023-04-25 16:40:44 +0200
committerLars-Dominik Braun <lars@6xq.net>2023-04-25 16:54:57 +0200
commitc354a345b9a75f9c298a9d13e9832314c6795ccb (patch)
tree0d29545e28cc009408624e6333b7296dd6364cb2 /gnu
parent3a37e3ecd8ae0bcc0e5d00393fa9365d611bcb71 (diff)
downloadguix-c354a345b9a75f9c298a9d13e9832314c6795ccb.tar.gz
gnu: ghc-8.10: Avoid testsuite timeouts on i686.
* gnu/packages/haskell.scm (ghc-8.10)[arguments]: Add new phase
'skip-failing-tests-i686-cuirass.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/haskell.scm19
1 files changed, 18 insertions, 1 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 5f2e36b9ba..6b2c86fec4 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1261,7 +1261,24 @@ interactive environment for the functional language Haskell.")
                ;;    quasiquotation/T14028.run  T14028 [bad stderr] (dyn)
                (substitute* '("testsuite/tests/quasiquotation/all.T")
                  (("unless\\(config.have_ext_interp, skip\\),")
-                  "unless(config.have_ext_interp, skip), when(arch('i386'), skip),"))))))))
+                  "unless(config.have_ext_interp, skip), when(arch('i386'), skip),"))))
+           ;; i686 fails on CI, but (sometimes and with generous timeouts) completes
+           ;; locally. The issue seems to be that the testsuite tries to run some very
+           ;; broad regular expressions on output files of several megabytes in size,
+           ;; which takes a long time. Since the expressions never match anything on
+           ;; our builds anyways, remove them.
+           ;; TODO: Merge with 'skip-failing-tests-i686 or move into snippets on
+           ;; next rebuild. Note that they are required for GHC 8.10 and 9.2.
+           #$@(if (string-prefix? "i686" (or (%current-target-system)
+                                             (%current-system)))
+               #~((add-after 'skip-failing-tests-i686 'skip-failing-tests-i686-cuirass
+                    (lambda _
+                      (substitute* '("testsuite/driver/testlib.py")
+                        ((".*changes being made to the file will invalidate the code signature.*")
+                         "")
+                        ((".*warning: argument unused during compilation:.*")
+                         "")))))
+               #~())))))
     (native-search-paths (list (search-path-specification
                                 (variable "GHC_PACKAGE_PATH")
                                 (files (list