gnu: git: Enable tests.
* gnu/packages/version-control.scm (git)[arguments]: Remove #:tests?. Add 'patch-tests' phase.
This commit is contained in:
parent
81ca29a6d6
commit
c9f4f56b24
|
@ -15,6 +15,7 @@
|
|||
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 André <eu@euandre.org>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -176,7 +177,6 @@ as well as the classic centralized workflow.")
|
|||
;; nars; see <https://bugs.gnu.org/21949>.
|
||||
"NO_INSTALL_HARDLINKS=indeed")
|
||||
#:test-target "test"
|
||||
#:tests? #f ; FIXME: Many tests are failing
|
||||
|
||||
;; The explicit --with-tcltk forces the build system to hardcode the
|
||||
;; absolute file name to 'wish'.
|
||||
|
@ -203,6 +203,37 @@ as well as the classic centralized workflow.")
|
|||
;; Add the "PM.stamp" to avoid "no rule to make target".
|
||||
(call-with-output-file "perl/PM.stamp" (const #t))
|
||||
#t))
|
||||
(add-before 'check 'patch-tests
|
||||
(lambda _
|
||||
;; These files contain some funny bytes that Guile is unable
|
||||
;; to decode for shebang patching. Just delete them.
|
||||
(for-each delete-file '("t/t4201-shortlog.sh"
|
||||
"t/t7813-grep-icase-iso.sh"))
|
||||
;; Many tests contain inline shell scripts (hooks etc).
|
||||
(substitute* (find-files "t" "\\.sh$")
|
||||
(("#!/bin/sh") (string-append "#!" (which "sh"))))
|
||||
;; Un-do shebang patching here to prevent checksum mismatch.
|
||||
(substitute* '("t/t4034/perl/pre" "t/t4034/perl/post")
|
||||
(("^#!.*/bin/perl") "#!/usr/bin/perl"))
|
||||
(substitute* "t/t5003-archive-zip.sh"
|
||||
(("cp /bin/sh") (string-append "cp " (which "sh"))))
|
||||
(substitute* "t/t6030-bisect-porcelain.sh"
|
||||
(("\"/bin/sh\"") (string-append "\"" (which "sh") "\"")))
|
||||
;; FIXME: This test runs `git commit` with a bogus EDITOR
|
||||
;; and empty commit message, but does not fail the way it's
|
||||
;; expected to. The test passes when invoked interactively.
|
||||
(substitute* "t/t7508-status.sh"
|
||||
(("\tcommit_template_commented") "\ttrue"))
|
||||
;; More checksum mismatches due to odd shebangs.
|
||||
(substitute* "t/t9100-git-svn-basic.sh"
|
||||
(("\"#!/gnu.*/bin/sh") "\"#!/bin/sh"))
|
||||
(substitute* "t/t9300-fast-import.sh"
|
||||
(("\t#!/gnu.*/bin/sh") "\t#!/bin/sh")
|
||||
(("'#!/gnu.*/bin/sh") "'#!/bin/sh"))
|
||||
;; FIXME: Some hooks fail with "basename: command not found".
|
||||
;; See 't/trash directory.t9164.../svn-hook.log'.
|
||||
(delete-file "t/t9164-git-svn-dcommit-concurrent.sh")
|
||||
#t))
|
||||
(add-after 'install 'install-shell-completion
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
|
Loading…
Reference in New Issue