gnu: coreutils: Skip hanging and failing test on the Hurd.

* gnu/packages/base.scm (coreutils)[arguments]: When building natively on the
Hurd, remove "test/df/unreadable.sh" and "test-perror2" from #:make-flags's
XFAIL_TESTS as they now pass.  Move failing script tests from XFAIL_TESTS to
'remove-tests' phase.  In phase 'remove-tests' rewrite substitute* to skip
tests instead of removing them.  Add hanging and failing tests.
This commit is contained in:
Janneke Nieuwenhuizen 2023-05-31 17:51:30 +02:00
parent 360c8873ff
commit e4721f7472
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273

View file

@ -397,23 +397,13 @@ (define-public coreutils
(outputs '("out" "debug")) (outputs '("out" "debug"))
(arguments (arguments
`(#:parallel-build? #f ; help2man may be called too early `(#:parallel-build? #f ; help2man may be called too early
,@(if (target-hurd?) ,@(if (system-hurd?)
'(#:make-flags ; these tests fail deterministically '(#:make-flags ; these tests fail deterministically
(list (string-append "XFAIL_TESTS=tests/misc/env-S.pl" (list (string-append "XFAIL_TESTS="
" tests/misc/kill.sh"
" tests/misc/nice.sh"
" tests/misc/pwd-long.sh"
" tests/split/fail.sh"
;; /hurd/fifo issue:
;; <https://issues.guix.gnu.org/58803>.
" tests/df/unreadable.sh"
;; Gnulib tests. ;; Gnulib tests.
" test-fdutimensat" " test-fdutimensat"
" test-futimens" " test-futimens"
" test-linkat" " test-linkat"
" test-perror2"
" test-renameat" " test-renameat"
" test-renameatu" " test-renameatu"
" test-utimensat"))) " test-utimensat")))
@ -435,10 +425,35 @@ (define-public coreutils
(("#!/bin/sh") (string-append "#!" (which "sh")))))) (("#!/bin/sh") (string-append "#!" (which "sh"))))))
(add-after 'unpack 'remove-tests (add-after 'unpack 'remove-tests
(lambda _ (lambda _
,@(if (target-hurd?) ,@(if (system-hurd?)
'((substitute* "Makefile.in" '((substitute*
;; this test hangs ;; These tests hang
(("^ *tests/misc/timeout-group.sh.*") "")) '("tests/cp/sparse-to-pipe.sh"
"tests/split/fail.sh"
;; These tests error
"tests/dd/nocache.sh"
;; These tests fail
"tests/cp/sparse.sh"
"tests/cp/special-f.sh"
"tests/dd/bytes.sh"
"tests/dd/stats.sh"
"tests/ls/dangle.sh"
"tests/ls/follow-slink.sh"
"tests/ls/hyperlink.sh"
"tests/ls/infloop.sh"
"tests/ls/inode.sh"
"tests/ls/selinux-segfault.sh"
"tests/misc/env-S.pl"
"tests/misc/factor-parallel.sh"
"tests/misc/ls-misc.pl"
"tests/misc/nice.sh"
"tests/misc/pwd-long.sh"
"tests/misc/shred-passes.sh"
"tests/misc/stat-slash.sh"
"tests/rm/fail-eperm.xpl"
"tests/split/filter.sh")
(("^#!.*" all)
(string-append all "exit 77;\n")))
(substitute* "gnulib-tests/Makefile.in" (substitute* "gnulib-tests/Makefile.in"
;; This test sometimes fails and sometimes ;; This test sometimes fails and sometimes
;; passes, but it does this consistently, so ;; passes, but it does this consistently, so