[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#57850] [PATCH 1/2] marionette: Make it easier to debug REPL read fa
From: |
Christopher Baines |
Subject: |
[bug#57850] [PATCH 1/2] marionette: Make it easier to debug REPL read failures. |
Date: |
Fri, 16 Sep 2022 09:32:35 +0200 |
Log the remaining contnet written to the REPL, so that there's more to go on
than:
socket:5:14: Unknown # object: "#<"
* gnu/build/marionette.scm (marionette-eval): Catch exceptions from read and
log the remainder of the content from the REPL.
---
gnu/build/marionette.scm | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm
index 06b699bd7b..fd59a4c72f 100644
--- a/gnu/build/marionette.scm
+++ b/gnu/build/marionette.scm
@@ -178,7 +178,18 @@ (define (marionette-eval exp marionette)
(($ <marionette> command pid monitor (= force repl))
(write exp repl)
(newline repl)
- (read repl))))
+ (with-exception-handler
+ (lambda (exn)
+ (simple-format
+ (current-error-port)
+ "error reading marionette response: ~A
+ remaining response: ~A\n"
+ exn
+ (get-line repl))
+ (raise-exception exn))
+ (lambda ()
+ (read repl))
+ #:unwind? #t))))
(define* (wait-for-file file marionette
#:key (timeout 10) (read 'read))
--
2.37.3