guix-commits
[Top][All Lists]
Advanced

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

branch master updated: tests: Accept manual installation scripts that ex


From: guix-commits
Subject: branch master updated: tests: Accept manual installation scripts that exit with SIGTERM.
Date: Thu, 19 Mar 2020 18:19:04 -0400

This is an automated email from the git hooks/post-receive script.

civodul pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
     new be0a672  tests: Accept manual installation scripts that exit with 
SIGTERM.
be0a672 is described below

commit be0a672c30ad1401019abb5cb83d59be171813d0
Author: Ludovic Courtès <address@hidden>
AuthorDate: Thu Mar 19 23:10:25 2020 +0100

    tests: Accept manual installation scripts that exit with SIGTERM.
    
    Fixes <https://bugs.gnu.org/39926>.
    Reported by Maxim Cournoyer <address@hidden>.
    
    Previously we'd error out if the installation script exits with
    non-zero, which was the case because the 'reboot' program would
    typically not get a reply, and thus would eventually be killed by PID 1
    as the system is brought down.
    
    * gnu/tests/install.scm (run-install)[install]: Expect SCRIPT to exit
    with SIGTERM in addition to exiting with zero.
---
 gnu/tests/install.scm | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm
index 9ecc45c..4f650ff 100644
--- a/gnu/tests/install.scm
+++ b/gnu/tests/install.scm
@@ -270,8 +270,12 @@ packages defined in installation-os."
                                   (lambda (port)
                                     (write '#$target-os-source port)))
                                marionette)
-              (exit (marionette-eval '(zero? (system #$script))
-                                     marionette)))
+
+              ;; Run SCRIPT.  It typically invokes 'reboot' as a last step and
+              ;; thus normally gets killed with SIGTERM by PID 1.
+              (let ((status (marionette-eval '(system #$script) marionette)))
+                (exit (or (equal? (status:term-sig status) SIGTERM)
+                          (equal? (status:exit-val status) 0)))))
 
             (when #$(->bool gui-test)
               (wait-for-unix-socket "/var/guix/installer-socket"



reply via email to

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