Subject: [PATCH 06/43] gnu: findutils: Move test-strerror_r from XFAIL to skip on the Hurd.

From: Janneke Nieuwenhuizen <[email-masked]>
Date: Tue, 18 Jul 2023 16:39:59 +0200

* gnu/packages/base.scm (findutils)[arguments]: When building natively on the
Hurd, remove #:make-flags as "test-strerror_r" fails non-deterministically.
Instead, add 'skip-test' phase and skip it.
---
 gnu/packages/base.scm | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 00e59e6f46..14479c4951 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -340,10 +340,16 @@ (define-public findutils
                      (substitute* '("tests/xargs/verbose-quote.sh"
                                     "tests/find/exec-plus-last-file.sh")
                        (("#!/bin/sh")
-                        (string-append "#!" (which "sh")))))))
-      #:make-flags ,(if (target-hurd?)
-                        ''("XFAIL_TESTS=test-strerror_r")
-                        ''())))
+                        (string-append "#!" (which "sh"))))))
+                 ,@(if (system-hurd?)
+                       '((add-after 'unpack 'skip-tests
+                           (lambda _
+                             (substitute*
+                                 ;; This test fails non-deterministically
+                                 "gnulib-tests/test-strerror_r.c"
+                               (("(^| )main *\\(.*" all)
+                                (string-append all "{\n  exit (77);//"))))))
+                       '()))))
    (synopsis "Operating on files matching given criteria")
    (description
     "Findutils supplies the basic file directory searching utilities of the
-- 
2.40.1