offload: Gracefully handle invalid results from 'machines.scm'.

* guix/scripts/offload.scm (build-machines): Check the result of FILE.
Ignore it if it's not a list of <build-machine>.
This commit is contained in:
Ludovic Courtès 2018-06-14 23:08:08 +02:00
parent 565af91acc
commit a9a685cc00
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -124,7 +124,15 @@ (define* (build-machines #:optional (file %machine-file))
(save-module-excursion
(lambda ()
(set-current-module %user-module)
(primitive-load file))))
(match (primitive-load file)
(((? build-machine? machines) ...)
machines)
(_
;; Instead of crashing, assume the empty list.
(warning (G_ "'~a' did not return a list of build machines; \
ignoring it~%")
file)
'())))))
(lambda args
(match args
(('system-error . rest)