From be0a672c30ad1401019abb5cb83d59be171813d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 19 Mar 2020 23:10:25 +0100 Subject: tests: Accept manual installation scripts that exit with SIGTERM. Fixes . Reported by Maxim Cournoyer . 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 9ecc45cc04..4f650ffb34 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" -- cgit v1.2.3