From 4eb0f9ae05a9bf20fb91c49b39bebc687265c5e5 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 12 Jan 2018 23:16:53 +0100 Subject: offload: 'test' reports Guile and module errors more nicely. Fixes . Reported by Myles English . * guix/ssh.scm (retrieve-files*): Move error reporting to... (report-guile-error, report-module-error): ... here. New procedures. * guix/scripts/offload.scm (assert-node-repl): Use 'report-guile-error'. (assert-node-has-guix): Explicitly check for 'use-modules' first. Use 'report-module-error'. --- guix/scripts/offload.scm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'guix/scripts/offload.scm') diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm index aaad992289..d011520885 100644 --- a/guix/scripts/offload.scm +++ b/guix/scripts/offload.scm @@ -542,8 +542,7 @@ slot (which must later be released with 'release-build-slot'), or #f and #f." "Bail out if NODE is not running Guile." (match (node-guile-version node) (#f - (leave (G_ "Guile could not be started on '~a'~%") - name)) + (report-guile-error name)) ((? string? version) ;; Note: The version string already contains the word "Guile". (info (G_ "'~a' is running ~a~%") @@ -551,6 +550,17 @@ slot (which must later be released with 'release-build-slot'), or #f and #f." (define (assert-node-has-guix node name) "Bail out if NODE lacks the (guix) module, or if its daemon is not running." + (catch 'node-repl-error + (lambda () + (match (node-eval node + '(begin + (use-modules (guix)) + (and add-text-to-store 'alright))) + ('alright #t) + (_ (report-module-error name)))) + (lambda (key . args) + (report-module-error name))) + (catch 'node-repl-error (lambda () (match (node-eval node @@ -563,7 +573,7 @@ slot (which must later be released with 'release-build-slot'), or #f and #f." (info (G_ "Guix is usable on '~a' (test returned ~s)~%") name str)) (x - (leave (G_ "failed to use Guix module on '~a' (test returned ~s)~%") + (leave (G_ "failed to talk to guix-daemon on '~a' (test returned ~s)~%") name x)))) (lambda (key . args) (leave (G_ "remove evaluation on '~a' failed:~{ ~s~}~%") -- cgit v1.2.3