summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtyom V. Poptsov <poptsov.artyom@gmail.com>2017-05-08 18:13:44 +0300
committerArtyom V. Poptsov <poptsov.artyom@gmail.com>2017-05-08 18:13:44 +0300
commit14ea42f3897f54c433fec92ff5b87bc2b47cb252 (patch)
tree2003c611b2f47fcd9dca9dbb90727bd03323b484
parenttests/dist.scm ("with-ssh") <server>: Close a channel (diff)
downloadguile-ssh-14ea42f3897f54c433fec92ff5b87bc2b47cb252.tar.gz
tests/common.scm (start-server-loop): Improve logging and error handling
-rw-r--r--tests/common.scm25
1 files changed, 19 insertions, 6 deletions
diff --git a/tests/common.scm b/tests/common.scm
index c71b85e..663c0be 100644
--- a/tests/common.scm
+++ b/tests/common.scm
@@ -229,7 +229,13 @@ disconnected when the PROC is finished."
(define (start-server-loop server proc)
"Start a SERVER loop, call PROC on incoming messages."
- (server-listen server)
+ (let loop ()
+ (catch #t
+ (lambda () (server-listen server))
+ (lambda (key args)
+ (format-log/scm 'nolog "start-server-loop"
+ "ERROR: ~a: ~a" key args)
+ (loop))))
(let ((session (server-accept server)))
(server-handle-key-exchange session)
(start-session-loop session
@@ -423,11 +429,15 @@ returned by a CLIENT-PROC with a predicate PRED."
(let ((sock (socket PF_UNIX SOCK_STREAM 0)))
(bind sock AF_UNIX sock-path)
(listen sock 1)
- (let ((result (client-proc))
- (client (car (accept sock))))
- (write-line result client)
- (sleep 10)
- (close client))))
+ (while #t
+ (let ((result (client-proc))
+ (client (car (accept sock))))
+ (format-log/scm 'nolog
+ "run-client-test/separate-process"
+ "client: result: ~a" result)
+ (write-line result client)
+ (sleep 10)
+ (close client)))))
;; Main procedure
(lambda ()
(let ((sock (socket PF_UNIX SOCK_STREAM 0)))
@@ -444,6 +454,9 @@ returned by a CLIENT-PROC with a predicate PRED."
(poll sock
(lambda (sock)
(let ((result (read-line sock)))
+ (format-log/scm 'nolog
+ "run-client-test/separate-process"
+ "main: result: ~a" result)
(close sock)
(pred result)))))))))