emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#27938: closed ([PATCH] gnu: git: Enable tests.)


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#27938: closed ([PATCH] gnu: git: Enable tests.)
Date: Thu, 03 Aug 2017 23:36:01 +0000

Your message dated Fri, 04 Aug 2017 01:35:34 +0200
with message-id <address@hidden>
and subject line Re: [bug#27938] [PATCH] gnu: git: Enable tests.
has caused the debbugs.gnu.org bug report #27938,
regarding [PATCH] gnu: git: Enable tests.
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
27938: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=27938
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: [PATCH] gnu: git: Enable tests. Date: Thu, 3 Aug 2017 23:07:30 +0200
* gnu/packages/version-control.scm (git)[arguments]: Remove #:tests?. Add
'patch-tests' phase.
---
 gnu/packages/version-control.scm | 32 +++++++++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 9274a93f6..99b3dbc4e 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -176,7 +176,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 +202,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"))
-- 
2.13.4




--- End Message ---
--- Begin Message --- Subject: Re: [bug#27938] [PATCH] gnu: git: Enable tests. Date: Fri, 04 Aug 2017 01:35:34 +0200 User-agent: Notmuch/0.25 (https://notmuchmail.org) Emacs/25.2.1 (x86_64-unknown-linux-gnu)
Leo Famulari <address@hidden> writes:

> On Thu, Aug 03, 2017 at 11:07:30PM +0200, Marius Bakke wrote:
>> * gnu/packages/version-control.scm (git)[arguments]: Remove #:tests?. Add
>> 'patch-tests' phase.
>
> Wow, awesome! LGTM.

Thanks for the fast review! Pushed in c9f4f56b24801718d89c2520bec08867516e1371.

>
>> +            ;; Un-do shebang patching here to prevent checksum mismatch.
>> +            (substitute* '("t/t4034/perl/pre" "t/t4034/perl/post")
>> +              (("^#!.*/bin/perl") "#!/usr/bin/perl"))
>
> I've been thinking, we should have a way to pass a list of directories
> or files to exclude from the shebang patcher. We have a few packages
> that include files where patching the shebang is the wrong thing to do.
> For example, the Git example hook scripts.

That would be nice. I guess we can experiment with overriding the
various patching phases and see what works.

Attachment: signature.asc
Description: PGP signature


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]