guix-commits
[Top][All Lists]
Advanced

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

03/05: offload: 'test' gracefully handles 'node-repl-error'.


From: Ludovic Courtès
Subject: 03/05: offload: 'test' gracefully handles 'node-repl-error'.
Date: Fri, 12 Jan 2018 17:53:18 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 5a5e34e3588e863de0028523ada61041e78cf8c6
Author: Ludovic Courtès <address@hidden>
Date:   Fri Jan 12 22:51:41 2018 +0100

    offload: 'test' gracefully handles 'node-repl-error'.
    
    Fixes <https://bugs.gnu.org/28057>.
    Reported by Ricardo Wurmus <address@hidden>.
    
    * guix/scripts/offload.scm (assert-node-has-guix): Catch
    'node-repl-error' and call 'leave'.
---
 guix/scripts/offload.scm | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm
index 25efe90..aaad992 100644
--- a/guix/scripts/offload.scm
+++ b/guix/scripts/offload.scm
@@ -551,18 +551,23 @@ 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."
-  (match (node-eval node
-                    '(begin
-                       (use-modules (guix))
-                       (with-store store
-                         (add-text-to-store store "test"
-                                            "Hello, build machine!"))))
-    ((? string? str)
-     (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)~%")
-            name x))))
+  (catch 'node-repl-error
+    (lambda ()
+      (match (node-eval node
+                        '(begin
+                           (use-modules (guix))
+                           (with-store store
+                             (add-text-to-store store "test"
+                                                "Hello, build machine!"))))
+        ((? string? str)
+         (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)~%")
+                name x))))
+    (lambda (key . args)
+      (leave (G_ "remove evaluation on '~a' failed:~{ ~s~}~%")
+             args))))
 
 (define %random-state
   (delay



reply via email to

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