tests: Accept manual installation scripts that exit with SIGTERM.

Fixes <https://bugs.gnu.org/39926>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.

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.
This commit is contained in:
Ludovic Courtès 2020-03-19 23:10:25 +01:00
parent f08b672661
commit be0a672c30
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -270,8 +270,12 @@ (define marionette
(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"