Your message dated Sat, 13 Feb 2021 21:18:46 +0000
with message-id <e1lb2js-000b7a...@fasolo.debian.org>
and subject line Bug#982728: fixed in guile-ssh 0.13.1-4
has caused the Debian Bug report #982728,
regarding guile-ssh: FTBFS: dh_auto_test: error: cd debian/build/guile-3.0 && 
make -j1 check VERBOSE=1 returned exit code 2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
982728: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=982728
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: guile-ssh
Version: 0.13.1-3
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20210213 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> make[5]: Entering directory '/<<PKGBUILDDIR>>/debian/build/guile-3.0/tests'
> FAIL: log.scm
> FAIL: server.scm
> FAIL: session.scm
> FAIL: client-server.scm
> FAIL: popen.scm
> FAIL: shell.scm
> FAIL: server-client.scm
> FAIL: sssh-ssshd.scm
> FAIL: key.scm
> FAIL: tunnel.scm
> FAIL: dist.scm
> ============================================
>    Guile-SSH 0.13.1: tests/test-suite.log
> ============================================
> 
> # TOTAL: 11
> # PASS:  0
> # SKIP:  0
> # XFAIL: 0
> # FAIL:  11
> # XPASS: 0
> # ERROR: 0
> 
> .. contents:: :depth: 2
> 
> FAIL: log
> =========
> 
> %%%% Starting test log
> Group begin: log
> Test begin:
>   test-name: "current-logging-callback"
>   source-file: "tests/log.scm"
>   source-line: 25
>   source-form: (test-equal "current-logging-callback" %default-log-printer 
> (current-logging-callback))
> Test end:
>   result-kind: pass
>   actual-value: #<procedure %default-log-printer (a b c d)>
>   expected-value: #<procedure %default-log-printer (a b c d)>
> Test begin:
>   test-name: "set-logging-callback!, custom"
>   source-file: "tests/log.scm"
>   source-line: 33
>   source-form: (test-equal "set-logging-callback!, custom" 
> custom-logging-callback (begin (set-logging-callback! 
> custom-logging-callback) (current-logging-callback)))
> Test end:
>   result-kind: pass
>   actual-value: #<procedure custom-logging-callback (a b c d)>
>   expected-value: #<procedure custom-logging-callback (a b c d)>
> Test begin:
>   test-name: "set-logging-callback!, default (libssh)"
>   source-file: "tests/log.scm"
>   source-line: 39
>   source-form: (test-equal "set-logging-callback!, default (libssh)" 
> %default-libssh-log-printer (begin (set-logging-callback! 
> %default-libssh-log-printer) (current-logging-callback)))
> Test end:
>   result-kind: pass
>   actual-value: #<procedure %default-libssh-log-printer (_ _ _ _)>
>   expected-value: #<procedure %default-libssh-log-printer (_ _ _ _)>
> Test begin:
>   test-name: "set-logging-callback!, default"
>   source-file: "tests/log.scm"
>   source-line: 45
>   source-form: (test-equal "set-logging-callback!, default" 
> %default-log-printer (begin (set-logging-callback! %default-log-printer) 
> (current-logging-callback)))
> Test end:
>   result-kind: pass
>   actual-value: #<procedure %default-log-printer (a b c d)>
>   expected-value: #<procedure %default-log-printer (a b c d)>
> Test begin:
>   test-name: "set-log-verbosity!"
>   source-file: "tests/log.scm"
>   source-line: 52
>   source-form: (test-assert "set-log-verbosity!" (begin (set-log-verbosity! 
> (quote functions)) (catch #t (lambda () (set-log-verbosity! (quote 
> wrong-verbosity)) #f) (lambda (key . args) #t))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "get-log-verbosity"
>   source-file: "tests/log.scm"
>   source-line: 62
>   source-form: (test-equal "get-log-verbosity" (quote functions) 
> (get-log-verbosity))
> Test end:
>   result-kind: pass
>   actual-value: functions
>   expected-value: functions
> Group end: log
> # of expected passes      6
> FAIL log.scm (exit status: 1)
> 
> FAIL: server
> ============
> 
> Backtrace:
>            4 (primitive-load "/<<BUILDDIR>>/guile-ssh-0.13…")
> In ice-9/eval.scm:
>    191:35  3 (_ #f)
>    196:35  2 (_ #f)
>     263:9  1 (_ #(#(#<directory (guile-user) 7f25a6d5cc80>) #f))
>     155:9  0 (_ _)
> 
> ice-9/eval.scm:155:9: In procedure struct-vtable: Wrong type argument in 
> position 1 (expecting struct): #f
> %%%% Starting test server  (Writing full log to "server.log")
> # of expected passes      8
> ) (let ((server (%make-server)) (x "I'm not a server")) (and (server? server) 
> (not (server? x))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "comparison of servers"
>   source-file: "tests/server.scm"
>   source-line: 44
>   source-form: (test-assert "comparison of servers" (begin (set-log-userdata! 
> "comparison of servers") (let ((s1 (%make-server)) (s2 (%make-server))) (and 
> (equal? s1 s1) (not (equal? s1 s2))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "server-set!, valid values"
>   source-file: "tests/server.scm"
>   source-line: 50
>   source-form: (test-assert "server-set!, valid values" (begin 
> (set-log-userdata! "server-set!, valid values") (let* ((server 
> (%make-server)) (topdir (getenv "abs_top_srcdir")) (options (quasiquote 
> ((bindaddr "127.0.0.1") (bindport 22) (unquote (if (>= %libssh-minor-version 
> 7) (list (quote hostkey) %rsakey %dsakey) (quote (hostkey "ssh-rsa" 
> "ssh-dss")))) (rsakey (unquote %rsakey)) (dsakey (unquote %dsakey)) (banner 
> "string") (log-verbosity nolog rare protocol packet functions) (blocking-mode 
> #f #t)))) (log (test-runner-aux-value (test-runner-current))) (res #t)) 
> (for-each (lambda (opt) (for-each (lambda (val) (catch #t (lambda () 
> (server-set! server (car opt) val)) (lambda (key . args) (set! res #f) 
> (format log "  opt: ~a, val: ~a, error: ~a~%" (car opt) val args)))) (cdr 
> opt))) options) res)))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "server-set!, invalid values"
>   source-file: "tests/server.scm"
>   source-line: 83
>   source-form: (test-assert "server-set!, invalid values" (begin 
> (set-log-userdata! "server-set!, invalid values") (let ((server 
> (%make-server)) (options (quote ((bindaddr #f 42) (rsakey #f 42) (dsakey #f 
> 42) (bindport "I'm not a port" -42) (hostkey "invalid value" 1 (quote 
> invalid-value)) (banner 12345) (log-verbosity -1 0 1 2 3 4 5) (blocking-mode 
> 42 "string")))) (log (test-runner-aux-value (test-runner-current))) (res #t)) 
> (for-each (lambda (opt) (for-each (lambda (val) (catch #t (lambda () 
> (server-set! server (car opt) val) (format log "  opt: ~a, val: ~a -- passed 
> mistakenly~%" (car opt) val) (set! res #f)) (lambda (key . args) #t))) (cdr 
> opt))) options) res)))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "make-server"
>   source-file: "tests/server.scm"
>   source-line: 119
>   source-form: (test-assert "make-server" (begin (set-log-userdata! 
> "make-server") (let ((topdir (getenv "abs_top_srcdir"))) (make-server 
> #:bindaddr "127.0.0.1" #:bindport 123456 #:rsakey %rsakey #:dsakey %dsakey 
> #:banner "banner" #:log-verbosity (quote nolog) #:blocking-mode #f))))
> Test end:
>   result-kind: pass
>   actual-value: #<server 127.0.0.1:123456 7f25a56e0f20>
> Test begin:
>   test-name: "server-get"
>   source-file: "tests/server.scm"
>   source-line: 129
>   source-form: (test-assert "server-get" (begin (set-log-userdata! 
> "server-get") (let* ((topdir (getenv "abs_top_srcdir")) (bindaddr 
> "127.0.0.1") (bindport 123456) (banner "banner") (log-verbosity (quote 
> nolog)) (blocking-mode #f) (server (make-server #:bindaddr bindaddr 
> #:bindport bindport #:rsakey %rsakey #:dsakey %dsakey #:banner banner 
> #:log-verbosity log-verbosity #:blocking-mode blocking-mode))) (and (eq? 
> (server-get server (quote bindaddr)) bindaddr) (eq? (server-get server (quote 
> bindport)) bindport) (eq? (server-get server (quote rsakey)) %rsakey) (eq? 
> (server-get server (quote dsakey)) %dsakey) (eq? (server-get server (quote 
> banner)) banner) (eq? (server-get server (quote log-verbosity)) 
> log-verbosity) (eq? (server-get server (quote blocking-mode)) 
> blocking-mode)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "server-listen"
>   source-file: "tests/server.scm"
>   source-line: 151
>   source-form: (test-assert "server-listen" (begin (set-log-userdata! 
> "server-listen") (let* ((topdir (getenv "abs_top_srcdir")) (server 
> (make-server #:bindaddr "127.0.0.1" #:bindport 123456 #:rsakey %rsakey 
> #:log-verbosity (quote nolog)))) (server-listen server) #t)))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Group end: server
> # of expected passes      8
> FAIL server.scm (exit status: 1)
> 
> FAIL: session
> =============
> 
> Backtrace:
>            4 (primitive-load "/<<BUILDDIR>>/guile-ssh-0.13…")
> In ice-9/eval.scm:
>    191:35  3 (_ #f)
>    196:35  2 (_ #f)
>     263:9  1 (_ #(#(#<directory (guile-user) 7f51e3754c80>) #f))
>     155:9  0 (_ _)
> 
> ice-9/eval.scm:155:9: In procedure struct-vtable: Wrong type argument in 
> position 1 (expecting struct): #f
> %%%% Starting test session  (Writing full log to "session.log")
> # of expected passes      20
> form: (test-assert "%make-session, gc test" (begin (set-log-userdata! 
> "%make-session, gc test") (let ((max-sessions 1000)) (do ((idx 1 (+ idx 1))) 
> ((> idx max-sessions)) (when (zero? (euclidean-remainder idx 100)) 
> (format-log/scm (quote nolog) "" (format #f "~d / ~d sessions created ..." 
> idx max-sessions))) (%make-session)) #t)))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "session?"
>   source-file: "tests/session.scm"
>   source-line: 51
>   source-form: (test-assert "session?" (let ((session (%make-session)) (x 
> "string")) (and (session? session) (not (session? x)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "comparison of sessions"
>   source-file: "tests/session.scm"
>   source-line: 57
>   source-form: (test-assert "comparison of sessions" (let ((s1 
> (%make-session)) (s2 (%make-session))) (and (equal? s1 s1) (not (equal? s1 
> s2)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "session-set!, valid values"
>   source-file: "tests/session.scm"
>   source-line: 63
>   source-form: (test-assert "session-set!, valid values" (let ((session 
> (%make-session)) (options (quasiquote ((host "localhost") (port 22) (bindaddr 
> "127.0.0.1") (user "Random J. User") (timeout 15) (timeout-usec 15000) (ssh1 
> #f #t) (ssh2 #f #t) (log-verbosity nolog rare protocol packet functions 
> nolog) (compression-level 1 2 3 4 5 6 7 8 9) (compression "yes" "no") 
> (callbacks ((user-data . "hello") (global-request-callback unquote (const 
> #f))))))) (res #t)) (if (>= %libssh-minor-version 8) (set! options (cons 
> (quote (nodelay #f #t)) options))) (for-each (lambda (opt) (for-each (lambda 
> (val) (session-set! session (car opt) val)) (cdr opt))) options) res))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "session-set!, invalid values"
>   source-file: "tests/session.scm"
>   source-line: 93
>   source-form: (test-assert "session-set!, invalid values" (let ((session 
> (%make-session)) (options (quote ((host 12345 #t) (port "string" -22) 
> (bindaddr 12345 -12345) (user 12345 -12345) (timeout "string" -15) 
> (timeout-usec "string" -15000) (ssh1 12345 "string") (ssh2 12345 "string") 
> (log-verbosity "string" -1 0 1 2 3 4 5) (compression 12345) 
> (compression-level -1 0 10) (callbacks "not a list" ((global-request-callback 
> . #f)))))) (res #t)) (if (>= %libssh-minor-version 8) (set! options (cons 
> (quote (nodelay 12345 "string")) options))) (for-each (lambda (opt) (for-each 
> (lambda (val) (catch #t (lambda () (session-set! session (car opt) val) (let* 
> ((r (test-runner-current)) (l (test-runner-aux-value r))) (format l "  opt: 
> ~a, val: ~a -- passed mistakenly~%" (car opt) val) (set! res #f))) (const 
> #t))) (cdr opt))) options) res))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "session-set!, invalid option type"
>   source-file: "tests/session.scm"
>   source-line: 130
>   source-form: (test-error "session-set!, invalid option type" (quote 
> wrong-type-arg) (let ((session (%make-session))) (session-set! session 
> "non-valid type" "value")))
> Test end:
>   result-kind: pass
>   actual-error: (wrong-type-arg "session-set!" "Wrong type argument in 
> position ~A: ~S" (2 "non-valid type") ("non-valid type"))
>   expected-error: wrong-type-arg
> Test begin:
>   test-name: "session-get"
>   source-file: "tests/session.scm"
>   source-line: 135
>   source-form: (test-assert "session-get" (let* ((host "example.com") (port 
> 12345) (user "alice") (proxycommand "test") (callbacks (quote ((user-data . 
> "test")))) (session (make-session #:host host #:port port #:user user 
> #:identity %rsakey #:proxycommand proxycommand #:callbacks callbacks))) (and 
> (string=? (session-get session (quote host)) host) (= (session-get session 
> (quote port)) port) (string=? (session-get session (quote user)) user) 
> (string=? (session-get session (quote identity)) %rsakey) (string=? 
> (session-get session (quote proxycommand)) proxycommand) (equal? (session-get 
> session (quote callbacks)) callbacks) (equal? (session-get (%make-session) 
> (quote callbacks)) #f))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "session-get, non-session object"
>   source-file: "tests/session.scm"
>   source-line: 156
>   source-form: (test-error "session-get, non-session object" (quote 
> wrong-type-arg) (session-get "non-session object" (quote test)))
> Test end:
>   result-kind: pass
>   actual-error: (wrong-type-arg #f "Wrong type (expecting ~A): ~S" ("session" 
> "non-session object") ("non-session object"))
>   expected-error: wrong-type-arg
> Test begin:
>   test-name: "session-get, invalid option"
>   source-file: "tests/session.scm"
>   source-line: 160
>   source-form: (test-error "session-get, invalid option" (quote 
> guile-ssh-error) (let ((session (%make-session))) (session-get session (quote 
> wrong-option))))
> Test end:
>   result-kind: pass
>   actual-error: (guile-ssh-error "session-get" "Wrong option" wrong-option #f)
>   expected-error: guile-ssh-error
> Test begin:
>   test-name: "session-parse-config!"
>   source-file: "tests/session.scm"
>   source-line: 165
>   source-form: (test-assert "session-parse-config!" (let ((session 
> (make-session #:host "example"))) (session-parse-config! session %config) 
> (format (current-error-port) "session: ~a~%" session) (format 
> (current-error-port) "host: ~a~%" (session-get session (quote host))) (format 
> (current-error-port) "user: ~a~%" (session-get session (quote user))) (format 
> (current-error-port) "port: ~a~%" (session-get session (quote port))) (and 
> (string=? (session-get session (quote host)) "example.org") (string=? 
> (session-get session (quote user)) "alice") (= (session-get session (quote 
> port)) 2222))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "session-parse-config!, non-session object"
>   source-file: "tests/session.scm"
>   source-line: 176
>   source-form: (test-error "session-parse-config!, non-session object" (quote 
> wrong-type-arg) (session-parse-config! "non-session object" "wrong-value"))
> Test end:
>   result-kind: pass
>   actual-error: (wrong-type-arg #f "Wrong type (expecting ~A): ~S" ("session" 
> "non-session object") ("non-session object"))
>   expected-error: wrong-type-arg
> Test begin:
>   test-name: "session-parse-config!, wrong config file"
>   source-file: "tests/session.scm"
>   source-line: 180
>   source-form: (test-error "session-parse-config!, wrong config file" (quote 
> guile-ssh-error) (session-parse-config! (%make-session) "wrong-value"))
> Test end:
>   result-kind: pass
>   actual-error: (guile-ssh-error "%gssh-session-parse-config!" "Could not 
> read the configuration file" (#<session #<undefined>@#<undefined>:22 
> (disconnected) 7f51e21a0fe0> "wrong-value") #f)
>   expected-error: guile-ssh-error
> Test begin:
>   test-name: "make-session"
>   source-file: "tests/session.scm"
>   source-line: 184
>   source-form: (test-assert "make-session" (make-session #:host "localhost" 
> #:port 22 #:user "Random J. User"))
> Test end:
>   result-kind: pass
>   actual-value: #<session Random J. User@localhost:22 (disconnected) 
> 7f51e21a0fc0>
> Test begin:
>   test-name: "make-session, '#:config' and '#:host' is specified"
>   source-file: "tests/session.scm"
>   source-line: 189
>   source-form: (test-assert "make-session, '#:config' and '#:host' is 
> specified" (make-session #:host "localhost" #:config %config))
> Test end:
>   result-kind: pass
>   actual-value: #<session #<undefined>@localhost:22 (disconnected) 
> 7f51e21a0fa0>
> Test begin:
>   test-name: "make-session, '#:config' as a boolean value"
>   source-file: "tests/session.scm"
>   source-line: 193
>   source-form: (test-assert "make-session, '#:config' as a boolean value" 
> (make-session #:host "localhost" #:config #f))
> Test end:
>   result-kind: pass
>   actual-value: #<session #<undefined>@localhost:22 (disconnected) 
> 7f51e21a0f80>
> Test begin:
>   test-name: "make-session, only '#:config' is specified"
>   source-file: "tests/session.scm"
>   source-line: 197
>   source-form: (test-error "make-session, only '#:config' is specified" 
> (quote guile-ssh-error) (make-session #:config %config))
> Test end:
>   result-kind: pass
>   actual-error: (guile-ssh-error "'config' is specified, but 'host' option is 
> missed.")
>   expected-error: guile-ssh-error
> Test begin:
>   test-name: "blocking-flush!"
>   source-file: "tests/session.scm"
>   source-line: 201
>   source-form: (test-assert "blocking-flush!" (begin (set-log-userdata! 
> "blocking-flush!") (equal? (blocking-flush! (%make-session) 15) (quote ok))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "connected?, non-session object"
>   source-file: "tests/session.scm"
>   source-line: 205
>   source-form: (test-error "connected?, non-session object" (quote 
> wrong-type-arg) (connected? "non-session object"))
> Test end:
>   result-kind: pass
>   actual-error: (wrong-type-arg #f "Wrong type (expecting ~A): ~S" ("session" 
> "non-session object") ("non-session object"))
>   expected-error: wrong-type-arg
> Test begin:
>   test-name: "connected?, check that we are not connected"
>   source-file: "tests/session.scm"
>   source-line: 209
>   source-form: (test-assert "connected?, check that we are not connected" 
> (let ((session (%make-session))) (not (connected? session))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Group end: session
> # of expected passes      20
> FAIL session.scm (exit status: 1)
> 
> FAIL: client-server
> ===================
> 
> Backtrace:
>            4 (primitive-load "/<<BUILDDIR>>/guile-ssh-0.13…")
> In ice-9/eval.scm:
>    191:35  3 (_ #f)
>    196:35  2 (_ #f)
>     263:9  1 (_ #(#(#<directory (guile-user) 7f46a52d2c80>) #f))
>     155:9  0 (_ _)
> 
> ice-9/eval.scm:155:9: In procedure struct-vtable: Wrong type argument in 
> position 1 (expecting struct): #f
> %%%% Starting test client-server  (Writing full log to "client-server.log")
> # of expected passes      38
>  session)))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "get-protocol-version"
>   source-file: "tests/client-server.scm"
>   source-line: 82
>   source-form: (test-assert "get-protocol-version" (begin (set-log-userdata! 
> "get-protocol-version") (equal? (run-client-test (lambda (server) (let ((s 
> (server-accept server))) (server-handle-key-exchange s))) (lambda () 
> (call-with-connected-session (lambda (session) (get-protocol-version 
> session))))) 2)))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "authenticate-server, not-known"
>   source-file: "tests/client-server.scm"
>   source-line: 95
>   source-form: (test-assert "authenticate-server, not-known" (begin 
> (set-log-userdata! "authenticate-server, not-known") (quote not-known) 
> (run-client-test (lambda (server) (let ((s (server-accept server))) 
> (server-handle-key-exchange s))) (lambda () (call-with-connected-session 
> (lambda (session) (authenticate-server session)))))))
> Test end:
>   result-kind: pass
>   actual-value: not-known
> Test begin:
>   test-name: "authenticate-server, ok"
>   source-file: "tests/client-server.scm"
>   source-line: 108
>   source-form: (test-assert "authenticate-server, ok" (begin 
> (set-log-userdata! "authenticate-server, ok") (equal? (run-client-test 
> (lambda (server) (let ((s (server-accept server))) 
> (server-handle-key-exchange s))) (lambda () (let ((res 
> (call-with-connected-session (lambda (session) (write-known-host! session) 
> (authenticate-server session))))) (delete-file %knownhosts) res))) (quote 
> ok))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "get-public-key-hash"
>   source-file: "tests/client-server.scm"
>   source-line: 124
>   source-form: (test-assert "get-public-key-hash" (begin (set-log-userdata! 
> "get-public-key-hash") (run-client-test (lambda (server) (let ((s 
> (server-accept server))) (server-handle-key-exchange s))) (lambda () (let 
> ((hash-md5-bv #vu8(15 142 110 203 162 228 250 211 20 212 26 217 118 57 217 
> 66)) (hash-md5-str "0f:8e:6e:cb:a2:e4:fa:d3:14:d4:1a:d9:76:39:d9:42") 
> (hash-sha1-bv #vu8(20 65 56 155 119 45 84 163 50 26 59 92 215 159 139 5 229 
> 174 84 80)) (hash-sha1-str 
> "14:41:38:9b:77:2d:54:a3:32:1a:3b:5c:d7:9f:8b:05:e5:ae:54:50") (session 
> (make-session-for-test))) (sleep 1) (connect! session) (authenticate-server 
> session) (let* ((pubkey (get-server-public-key session)) (md5-res 
> (get-public-key-hash pubkey (quote md5))) (sha1-res (get-public-key-hash 
> pubkey (quote sha1)))) (disconnect! session) (and (bytevector=? md5-res 
> hash-md5-bv) (string=? (bytevector->hex-string md5-res) hash-md5-str) 
> (bytevector=? sha1-res hash-sha1-bv) (string=? (bytevector->hex-string 
> sha1-res) hash-sha1-str))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-none!, session: non-session object"
>   source-file: "tests/client-server.scm"
>   source-line: 161
>   source-form: (test-assert "userauth-none!, session: non-session object" 
> (begin (set-log-userdata! "userauth-none!, session: non-session object") 
> (catch #t (lambda () (userauth-none! "Not a session.") #f) (lambda (key . 
> args) (let ((result (equal? key (quote wrong-type-arg)))) (unless result 
> (format-log/scm (quote nolog) "userauth-none!, session: non-session object" 
> (string-append "Errors do not match: " "expected ~a, got ~a (args: ~a)") 
> (quote wrong-type-arg) key args)) result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-none!, session: non-connected session"
>   source-file: "tests/client-server.scm"
>   source-line: 166
>   source-form: (test-assert "userauth-none!, session: non-connected session" 
> (begin (set-log-userdata! "userauth-none!, session: non-connected session") 
> (catch #t (lambda () (userauth-none! (make-session-for-test)) #f) (lambda 
> (key . args) (let ((result (equal? key (quote wrong-type-arg)))) (unless 
> result (format-log/scm (quote nolog) "userauth-none!, session: non-connected 
> session" (string-append "Errors do not match: " "expected ~a, got ~a (args: 
> ~a)") (quote wrong-type-arg) key args)) result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-none!, session: connected session"
>   source-file: "tests/client-server.scm"
>   source-line: 171
>   source-form: (test-assert "userauth-none!, session: connected session" 
> (begin (set-log-userdata! "userauth-none!, session: connected session") 
> (equal? (run-client-test (lambda (server) (server-listen server) (let 
> ((session (server-accept server))) (server-handle-key-exchange session) 
> (start-session-loop session (lambda (msg) (message-auth-set-methods! msg 
> (quote (none))) (message-reply-success msg))))) (lambda () 
> (call-with-connected-session (lambda (session) (authenticate-server session) 
> (userauth-none! session))))) (quote success))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-none!, denied"
>   source-file: "tests/client-server.scm"
>   source-line: 194
>   source-form: (test-assert "userauth-none!, denied" (begin 
> (set-log-userdata! "userauth-none!, denied") (equal? (run-client-test (lambda 
> (server) (server-listen server) (let ((session (server-accept server))) 
> (server-handle-key-exchange session) (start-session-loop session (lambda 
> (msg) (message-auth-set-methods! msg (quote (public-key))) 
> (message-reply-default msg))))) (lambda () (call-with-connected-session 
> (lambda (session) (authenticate-server session) (userauth-none! session))))) 
> (quote denied))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-none!, partial"
>   source-file: "tests/client-server.scm"
>   source-line: 217
>   source-form: (test-assert "userauth-none!, partial" (begin 
> (set-log-userdata! "userauth-none!, partial") (equal? (run-client-test 
> (lambda (server) (server-listen server) (let ((session (server-accept 
> server))) (server-handle-key-exchange session) (start-session-loop session 
> (lambda (msg) (message-auth-set-methods! msg (quote (none))) 
> (message-reply-success msg (quote partial)))))) (lambda () 
> (call-with-connected-session (lambda (session) (authenticate-server session) 
> (userauth-none! session))))) (quote partial))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-password!, session: non-session object"
>   source-file: "tests/client-server.scm"
>   source-line: 243
>   source-form: (test-assert "userauth-password!, session: non-session object" 
> (begin (set-log-userdata! "userauth-password!, session: non-session object") 
> (catch #t (lambda () (userauth-password! "Not a session." "Password") #f) 
> (lambda (key . args) (let ((result (equal? key (quote wrong-type-arg)))) 
> (unless result (format-log/scm (quote nolog) "userauth-password!, session: 
> non-session object" (string-append "Errors do not match: " "expected ~a, got 
> ~a (args: ~a)") (quote wrong-type-arg) key args)) result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-password!, session: non-connected session"
>   source-file: "tests/client-server.scm"
>   source-line: 249
>   source-form: (test-assert "userauth-password!, session: non-connected 
> session" (begin (set-log-userdata! "userauth-password!, session: 
> non-connected session") (catch #t (lambda () (userauth-password! 
> (make-session-for-test) "Password") #f) (lambda (key . args) (let ((result 
> (equal? key (quote wrong-type-arg)))) (unless result (format-log/scm (quote 
> nolog) "userauth-password!, session: non-connected session" (string-append 
> "Errors do not match: " "expected ~a, got ~a (args: ~a)") (quote 
> wrong-type-arg) key args)) result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-password!, password: non-string object"
>   source-file: "tests/client-server.scm"
>   source-line: 255
>   source-form: (test-assert "userauth-password!, password: non-string object" 
> (begin (set-log-userdata! "userauth-password!, password: non-string object") 
> (catch #t (lambda () (run-client-test (lambda (server) (server-listen server) 
> (let ((session (server-accept server))) (server-handle-key-exchange session) 
> (start-session-loop session (lambda (msg) (message-auth-set-methods! msg 
> (quote (password))) (message-reply-success msg))))) (lambda () 
> (call-with-connected-session (lambda (session) (userauth-password! session 
> 123))))) #f) (lambda (key . args) (let ((result (equal? key (quote 
> wrong-type-arg)))) (unless result (format-log/scm (quote nolog) 
> "userauth-password!, password: non-string object" (string-append "Errors do 
> not match: " "expected ~a, got ~a (args: ~a)") (quote wrong-type-arg) key 
> args)) result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-password!, success"
>   source-file: "tests/client-server.scm"
>   source-line: 276
>   source-form: (test-assert "userauth-password!, success" (begin 
> (set-log-userdata! "userauth-password!, success") (equal? (run-client-test 
> (lambda (server) (server-listen server) (let ((session (server-accept 
> server))) (server-handle-key-exchange session) (start-session-loop session 
> (lambda (msg) (message-auth-set-methods! msg (quote (password))) 
> (message-reply-success msg))))) (lambda () (call-with-connected-session 
> (lambda (session) (authenticate-server session) (userauth-password! session 
> "password"))))) (quote success))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-password!, denied"
>   source-file: "tests/client-server.scm"
>   source-line: 298
>   source-form: (test-assert "userauth-password!, denied" (begin 
> (set-log-userdata! "userauth-password!, denied") (equal? (run-client-test 
> (lambda (server) (server-listen server) (let ((session (server-accept 
> server))) (server-handle-key-exchange session) (start-session-loop session 
> (lambda (msg) (message-auth-set-methods! msg (quote (password))) 
> (message-reply-default msg))))) (lambda () (call-with-connected-session 
> (lambda (session) (authenticate-server session) (userauth-password! session 
> "password"))))) (quote denied))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-password!, partial"
>   source-file: "tests/client-server.scm"
>   source-line: 320
>   source-form: (test-assert "userauth-password!, partial" (begin 
> (set-log-userdata! "userauth-password!, partial") (equal? (run-client-test 
> (lambda (server) (server-listen server) (let ((session (server-accept 
> server))) (server-handle-key-exchange session) (start-session-loop session 
> (lambda (msg) (message-auth-set-methods! msg (quote (password))) 
> (message-reply-success msg (quote partial)))))) (lambda () 
> (call-with-connected-session (lambda (session) (authenticate-server session) 
> (userauth-password! session "password"))))) (quote partial))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-public-key!, wrong parameter"
>   source-file: "tests/client-server.scm"
>   source-line: 346
>   source-form: (test-assert "userauth-public-key!, wrong parameter" (begin 
> (set-log-userdata! "userauth-public-key!, wrong parameter") (catch #t (lambda 
> () (userauth-public-key! "Not a session." (private-key-from-file %rsakey)) 
> #f) (lambda (key . args) (let ((result (equal? key (quote wrong-type-arg)))) 
> (unless result (format-log/scm (quote nolog) "userauth-public-key!, wrong 
> parameter" (string-append "Errors do not match: " "expected ~a, got ~a (args: 
> ~a)") (quote wrong-type-arg) key args)) result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-public-key!, non-connected session"
>   source-file: "tests/client-server.scm"
>   source-line: 351
>   source-form: (test-assert "userauth-public-key!, non-connected session" 
> (begin (set-log-userdata! "userauth-public-key!, non-connected session") 
> (catch #t (lambda () (userauth-public-key! (make-session-for-test) 
> (private-key-from-file %rsakey)) #f) (lambda (key . args) (let ((result 
> (equal? key (quote wrong-type-arg)))) (unless result (format-log/scm (quote 
> nolog) "userauth-public-key!, non-connected session" (string-append "Errors 
> do not match: " "expected ~a, got ~a (args: ~a)") (quote wrong-type-arg) key 
> args)) result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-public-key!, private-key: non-key object"
>   source-file: "tests/client-server.scm"
>   source-line: 358
>   source-form: (test-assert "userauth-public-key!, private-key: non-key 
> object" (begin (set-log-userdata! "userauth-public-key!, private-key: non-key 
> object") (catch #t (lambda () (run-client-test (lambda (server) 
> (server-listen server) (let ((session (server-accept server))) 
> (server-handle-key-exchange session) (start-session-loop session (lambda 
> (msg) (message-reply-success msg))))) (lambda () (call-with-connected-session 
> (lambda (session) (userauth-public-key! session "Non-key object."))))) #f) 
> (lambda (key . args) (let ((result (equal? key (quote wrong-type-arg)))) 
> (unless result (format-log/scm (quote nolog) "userauth-public-key!, 
> private-key: non-key object" (string-append "Errors do not match: " "expected 
> ~a, got ~a (args: ~a)") (quote wrong-type-arg) key args)) result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-public-key!, private-key: public key"
>   source-file: "tests/client-server.scm"
>   source-line: 377
>   source-form: (test-assert "userauth-public-key!, private-key: public key" 
> (begin (set-log-userdata! "userauth-public-key!, private-key: public key") 
> (catch #t (lambda () (run-client-test (lambda (server) (server-listen server) 
> (let ((session (server-accept server))) (server-handle-key-exchange session) 
> (start-session-loop session (lambda (msg) (message-reply-success msg))))) 
> (lambda () (call-with-connected-session (lambda (session) 
> (userauth-public-key! session (public-key-from-file %rsakey-pub)))))) #f) 
> (lambda (key . args) (let ((result (equal? key (quote wrong-type-arg)))) 
> (unless result (format-log/scm (quote nolog) "userauth-public-key!, 
> private-key: public key" (string-append "Errors do not match: " "expected ~a, 
> got ~a (args: ~a)") (quote wrong-type-arg) key args)) result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-public-key!, success"
>   source-file: "tests/client-server.scm"
>   source-line: 395
>   source-form: (test-assert "userauth-public-key!, success" (begin 
> (set-log-userdata! "userauth-public-key!, success") (equal? (run-client-test 
> (lambda (server) (server-listen server) (let ((session (server-accept 
> server))) (server-handle-key-exchange session) (start-session-loop session 
> (lambda (msg) (message-reply-success msg))))) (lambda () 
> (call-with-connected-session (lambda (session) (authenticate-server session) 
> (let ((prvkey (private-key-from-file %rsakey))) (userauth-public-key! session 
> prvkey)))))) (quote success))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-public-key/auto!, session: non-session object"
>   source-file: "tests/client-server.scm"
>   source-line: 421
>   source-form: (test-assert "userauth-public-key/auto!, session: non-session 
> object" (begin (set-log-userdata! "userauth-public-key/auto!, session: 
> non-session object") (catch #t (lambda () (userauth-public-key/auto! "Not a 
> session.") #f) (lambda (key . args) (let ((result (equal? key (quote 
> wrong-type-arg)))) (unless result (format-log/scm (quote nolog) 
> "userauth-public-key/auto!, session: non-session object" (string-append 
> "Errors do not match: " "expected ~a, got ~a (args: ~a)") (quote 
> wrong-type-arg) key args)) result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-public-key/auto!, session: non-connected session"
>   source-file: "tests/client-server.scm"
>   source-line: 427
>   source-form: (test-assert "userauth-public-key/auto!, session: 
> non-connected session" (begin (set-log-userdata! "userauth-public-key/auto!, 
> session: non-connected session") (catch #t (lambda () 
> (userauth-public-key/auto! (make-session-for-test)) #f) (lambda (key . args) 
> (let ((result (equal? key (quote wrong-type-arg)))) (unless result 
> (format-log/scm (quote nolog) "userauth-public-key/auto!, session: 
> non-connected session" (string-append "Errors do not match: " "expected ~a, 
> got ~a (args: ~a)") (quote wrong-type-arg) key args)) result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-gssapi!, wrong parameter"
>   source-file: "tests/client-server.scm"
>   source-line: 436
>   source-form: (test-assert "userauth-gssapi!, wrong parameter" (begin 
> (set-log-userdata! "userauth-gssapi!, wrong parameter") (catch #t (lambda () 
> (userauth-gssapi! "Not a session.") #f) (lambda (key . args) (let ((result 
> (equal? key (quote wrong-type-arg)))) (unless result (format-log/scm (quote 
> nolog) "userauth-gssapi!, wrong parameter" (string-append "Errors do not 
> match: " "expected ~a, got ~a (args: ~a)") (quote wrong-type-arg) key args)) 
> result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-gssapi!, not connected"
>   source-file: "tests/client-server.scm"
>   source-line: 441
>   source-form: (test-assert "userauth-gssapi!, not connected" (begin 
> (set-log-userdata! "userauth-gssapi!, not connected") (catch #t (lambda () 
> (userauth-gssapi! (make-session-for-test)) #f) (lambda (key . args) (let 
> ((result (equal? key (quote wrong-type-arg)))) (unless result (format-log/scm 
> (quote nolog) "userauth-gssapi!, not connected" (string-append "Errors do not 
> match: " "expected ~a, got ~a (args: ~a)") (quote wrong-type-arg) key args)) 
> result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-get-list, wrong parameter"
>   source-file: "tests/client-server.scm"
>   source-line: 450
>   source-form: (test-assert "userauth-get-list, wrong parameter" (begin 
> (set-log-userdata! "userauth-get-list, wrong parameter") (catch #t (lambda () 
> (userauth-get-list "Not a session.") #f) (lambda (key . args) (let ((result 
> (equal? key (quote wrong-type-arg)))) (unless result (format-log/scm (quote 
> nolog) "userauth-get-list, wrong parameter" (string-append "Errors do not 
> match: " "expected ~a, got ~a (args: ~a)") (quote wrong-type-arg) key args)) 
> result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-get-list, non-connected"
>   source-file: "tests/client-server.scm"
>   source-line: 453
>   source-form: (test-assert "userauth-get-list, non-connected" (begin 
> (set-log-userdata! "userauth-get-list, non-connected") (catch #t (lambda () 
> (userauth-get-list (make-session-for-test)) #f) (lambda (key . args) (let 
> ((result (equal? key (quote wrong-type-arg)))) (unless result (format-log/scm 
> (quote nolog) "userauth-get-list, non-connected" (string-append "Errors do 
> not match: " "expected ~a, got ~a (args: ~a)") (quote wrong-type-arg) key 
> args)) result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "userauth-get-list"
>   source-file: "tests/client-server.scm"
>   source-line: 459
>   source-form: (test-assert "userauth-get-list" (begin (set-log-userdata! 
> "userauth-get-list") (equal? (run-client-test (lambda (server) (let ((session 
> (server-accept server))) (server-handle-key-exchange session) 
> (start-session-loop session (lambda (msg) (message-auth-set-methods! msg 
> (quote (password public-key))) (message-reply-default msg))))) (lambda () 
> (call-with-connected-session (lambda (session) (authenticate-server session) 
> (userauth-none! session) (userauth-get-list session))))) (quote (password 
> public-key)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "make-channel"
>   source-file: "tests/client-server.scm"
>   source-line: 524
>   source-form: (test-assert "make-channel" (begin (set-log-userdata! 
> "make-channel") (run-client-test (lambda (server) (start-server/exec server 
> (const #t))) (lambda () (call-with-connected-session/channel-test 
> make-channel)))))
> Test end:
>   result-kind: pass
>   actual-value: #<unknown channel (freed) 7f46a3bf7ec0>
> Test begin:
>   test-name: "channel-get-session"
>   source-file: "tests/client-server.scm"
>   source-line: 536
>   source-form: (test-assert "channel-get-session" (begin (set-log-userdata! 
> "channel-get-session") (run-client-test (lambda (server) (start-server/exec 
> server (const #t))) (lambda () (call-with-connected-session/channel-test 
> (lambda (session) (let ((channel (make-channel session))) (eq? session 
> (channel-get-session channel)))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "channel-open-session"
>   source-file: "tests/client-server.scm"
>   source-line: 550
>   source-form: (test-assert "channel-open-session" (begin (set-log-userdata! 
> "channel-open-session") (run-client-test (lambda (server) (start-server/exec 
> server (const #t))) (lambda () (call-with-connected-session/channel-test 
> (lambda (session) (format-log/scm (quote nolog) "channel-open-session 
> [client]" "session: ~a" session) (let ((channel (make-channel session))) 
> (format-log/scm (quote nolog) "channel-open-session [client]" "channel: ~a" 
> channel) (channel-open-session channel) (format-log/scm (quote nolog) 
> "channel-open-session [client]" "channel 2: ~a" channel) (not (port-closed? 
> channel)))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "channel-request-exec"
>   source-file: "tests/client-server.scm"
>   source-line: 572
>   source-form: (test-assert "channel-request-exec" (begin (set-log-userdata! 
> "channel-request-exec") (run-client-test (lambda (server) (start-server/exec 
> server (const #t))) (lambda () (call-with-connected-session/channel-test 
> (lambda (session) (let ((channel (make-channel session))) 
> (channel-open-session channel) (channel-request-exec channel "ping") (let 
> ((res (read-line channel))) (and res (string=? "pong" res))))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "channel-request-exec, exit status"
>   source-file: "tests/client-server.scm"
>   source-line: 591
>   source-form: (test-assert "channel-request-exec, exit status" (begin 
> (set-log-userdata! "channel-request-exec, exit status") 0 (run-client-test 
> (lambda (server) (start-server/exec server (const #t))) (lambda () 
> (call-with-connected-session/channel-test (lambda (session) (let ((channel 
> (make-channel session))) (channel-open-session channel) (channel-request-exec 
> channel "exit status") (channel-get-exit-status channel))))))))
> Test end:
>   result-kind: pass
>   actual-value: 0
> Test begin:
>   test-name: "channel-request-exec, printing a freed channel"
>   source-file: "tests/client-server.scm"
>   source-line: 608
>   source-form: (test-assert "channel-request-exec, printing a freed channel" 
> (begin (set-log-userdata! "channel-request-exec, printing a freed channel") 
> (run-client-test (lambda (server) (start-server/exec server (const #t))) 
> (lambda () (call-with-connected-session/channel-test (lambda (session) (let 
> ((channel (make-channel session))) (format-log/scm (quote nolog) 
> "channel-request-exec, printing a freed channel" "channel 0: ~a" channel) 
> (channel-open-session channel) (format-log/scm (quote nolog) 
> "channel-request-exec, printing a freed channel" "channel 1: ~a" channel) 
> (channel-request-exec channel "exit status") (format-log/scm (quote nolog) 
> "channel-request-exec, printing a freed channel" "channel 2: ~a" channel) 
> (close channel) (format-log/scm (quote nolog) "channel-request-exec, printing 
> a freed channel" "channel: ~a" channel) (string-match "#<unknown channel 
> \\(freed\\) [0-9a-f]+>" (object->string channel)))))))))
> Test end:
>   result-kind: pass
>   actual-value: #("#<unknown channel (freed) 7f46a3a85940>" (0 . 39))
> Test begin:
>   test-name: "channel-get-exit-status, freed channel"
>   source-file: "tests/client-server.scm"
>   source-line: 634
>   source-form: (test-assert "channel-get-exit-status, freed channel" (begin 
> (set-log-userdata! "channel-get-exit-status, freed channel") (catch #t 
> (lambda () (run-client-test (lambda (server) (start-server/exec server (const 
> #t))) (lambda () (call-with-connected-session (lambda (session) 
> (authenticate-server session) (userauth-none! session) (let ((channel 
> (make-channel session))) (channel-open-session channel) (channel-request-exec 
> channel "exit status") (close channel) (channel-get-exit-status channel)))))) 
> #f) (lambda (key . args) (let ((result (equal? key (quote wrong-type-arg)))) 
> (unless result (format-log/scm (quote nolog) "channel-get-exit-status, freed 
> channel" (string-append "Errors do not match: " "expected ~a, got ~a (args: 
> ~a)") (quote wrong-type-arg) key args)) result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "data transferring, string"
>   source-file: "tests/client-server.scm"
>   source-line: 662
>   source-form: (test-assert "data transferring, string" (begin 
> (set-log-userdata! "data transferring, string") (run-client-test (lambda 
> (server) (start-server/dt-test server (lambda (channel) (let ((str (read-line 
> channel))) (write-line str channel))))) (lambda () 
> (call-with-connected-session/channel-test (lambda (session) (let ((channel 
> (make-channel/dt-test session)) (str "Hello Scheme World!")) (write-line str 
> channel) (poll channel (lambda args (let ((res (read-line channel))) 
> (disconnect! session) (equal? res str)))))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "data transferring, bytevector"
>   source-file: "tests/client-server.scm"
>   source-line: 686
>   source-form: (test-assert "data transferring, bytevector" (begin 
> (set-log-userdata! "data transferring, bytevector") (run-client-test (lambda 
> (server) (use-modules (rnrs bytevectors) (rnrs io ports)) 
> (start-server/dt-test server (lambda (channel) (let ((v (get-bytevector-n 
> channel 10))) (put-bytevector channel v))))) (lambda () 
> (call-with-connected-session/channel-test (lambda (session) (let* ((vect-size 
> 10) (channel (make-channel/dt-test session)) (vect (make-bytevector vect-size 
> 42))) (format-log/scm (quote nolog) "data transferring, bytevector" "vect: 
> ~a" vect) (put-bytevector channel vect) (poll channel (lambda args (let ((res 
> (get-bytevector-n channel vect-size))) (format-log/scm (quote nolog) "data 
> transferring, bytevector" "res: ~a" res) (equal? res vect)))))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "channel-send-eof"
>   source-file: "tests/client-server.scm"
>   source-line: 725
>   source-form: (test-assert "channel-send-eof" (begin (set-log-userdata! 
> "channel-send-eof") (run-client-test (lambda (server) (start-server/dt-test 
> server (lambda (channel) (let ((str (read-line channel))) (write-line str 
> channel))))) (lambda () (call-with-connected-session/channel-test (lambda 
> (session) (let ((channel (make-channel/dt-test session)) (str "Hello Scheme 
> World!")) (write-line str channel) (channel-send-eof channel) (and 
> (input-port? channel) (not (output-port? channel)) (string=? (read-line 
> channel) str)))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Group end: client-server
> # of expected passes      38
> FAIL client-server.scm (exit status: 1)
> 
> FAIL: popen
> ===========
> 
> %%%% Starting test popen
> Group begin: popen
> Test begin:
>   test-name: "open-remote-pipe, OPEN_READ"
>   source-file: "tests/popen.scm"
>   source-line: 59
>   source-form: (test-assert "open-remote-pipe, OPEN_READ" (begin 
> (set-log-userdata! "open-remote-pipe, OPEN_READ") (run-client-test (lambda 
> (server) (start-server/exec server (lambda () %%%% Starting test popen  
> (Writing full log to "popen.log")
> # of expected passes      6
> hannel (open-remote-pipe session "ping" OPEN_READ))) (and (input-only? 
> channel) (poll channel (lambda args (response=? channel "pong")))))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "open-remote-pipe, OPEN_PTY_READ"
>   source-file: "tests/popen.scm"
>   source-line: 71
>   source-form: (test-assert "open-remote-pipe, OPEN_PTY_READ" (begin 
> (set-log-userdata! "open-remote-pipe, OPEN_PTY_READ") (run-client-test 
> (lambda (server) (start-server/exec server (const #t))) (lambda () 
> (call-with-connected-session/shell (lambda (session) (let* ((OPEN_PTY_READ 
> (string-append OPEN_PTY OPEN_READ)) (channel (open-remote-pipe session "ping" 
> OPEN_PTY_READ))) (format-log/scm (quote nolog) "open-remote-pipe, 
> OPEN_PTY_READ" "channel: ~A" channel) (and (input-only? channel) (poll 
> channel (lambda args (response=? channel "pong")))))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "open-remote-pipe, OPEN_BOTH"
>   source-file: "tests/popen.scm"
>   source-line: 84
>   source-form: (test-assert "open-remote-pipe, OPEN_BOTH" (begin 
> (set-log-userdata! "open-remote-pipe, OPEN_BOTH") (run-client-test (lambda 
> (server) (start-server/exec server (const #t))) (lambda () 
> (call-with-connected-session/shell (lambda (session) (let ((channel 
> (open-remote-pipe session "ping" OPEN_BOTH))) (format-log/scm (quote nolog) 
> "open-remote-pipe, OPEN_BOTH" "channel: ~A" channel) (and (input-port? 
> channel) (output-port? channel) (poll channel (lambda args (response=? 
> channel "pong")))))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "open-remote-pipe*"
>   source-file: "tests/popen.scm"
>   source-line: 97
>   source-form: (test-assert "open-remote-pipe*" (begin (set-log-userdata! 
> "open-remote-pipe*") (run-client-test (lambda (server) (start-server/exec 
> server (const #t))) (lambda () (call-with-connected-session/shell (lambda 
> (session) (let ((channel (open-remote-pipe* session OPEN_READ "ping"))) 
> (format-log/scm (quote nolog) "open-remote-pipe*" "channel: ~A" channel) (and 
> (input-only? channel) (poll channel (lambda args (response=? channel 
> "pong")))))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "open-remote-input-pipe"
>   source-file: "tests/popen.scm"
>   source-line: 109
>   source-form: (test-assert "open-remote-input-pipe" (begin 
> (set-log-userdata! "open-remote-input-pipe") (run-client-test (lambda 
> (server) (start-server/exec server (const #t))) (lambda () 
> (call-with-connected-session/shell (lambda (session) (let ((channel 
> (open-remote-input-pipe session "ping"))) (format-log/scm (quote nolog) 
> "open-remote-input-pipe" "channel: ~A" channel) (and (input-only? channel) 
> (poll channel (lambda args (response=? channel "pong")))))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "open-remote-output-pipe"
>   source-file: "tests/popen.scm"
>   source-line: 121
>   source-form: (test-assert "open-remote-output-pipe" (begin 
> (set-log-userdata! "open-remote-output-pipe") (run-client-test (lambda 
> (server) (start-server/exec server (const #t))) (lambda () 
> (call-with-connected-session/shell (lambda (session) (let ((channel 
> (open-remote-output-pipe session "ping"))) (format-log/scm (quote nolog) 
> "open-remote-output-pipe" "channel: ~A" channel) (output-only? channel))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Group end: popen
> # of expected passes      6
> FAIL popen.scm (exit status: 1)
> 
> FAIL: shell
> ===========
> 
> %%%% Starting test shell
> Group begin: shell
> Test begin:
>   test-name: "rexec"
>   source-file: "tests/shell.scm"
>   source-line: 44
>   source-form: (test-assert "rexec" (begin (set-log-userdata! "rexec") 
> (run-client-test (lambda (server) (start-server/exec server (const #t))) 
> (lambda () (call-with-connected-session/shell (lambda (session) %%%% Starting 
> test shell  (Writing full log to "shell.log")
> # of expected passes      6
>  (rexec session "ping") (list result exit-code))))))))
> Test end:
>   result-kind: pass
>   actual-value: (("pong") 0)
> Test begin:
>   test-name: "which"
>   source-file: "tests/shell.scm"
>   source-line: 58
>   source-form: (test-assert "which" (begin (set-log-userdata! "which") 
> (run-client-test (lambda (server) (start-server/exec server (const #t))) 
> (lambda () (call-with-connected-session/shell (lambda (session) (receive 
> (result exit-code) (which session "uname") (and (zero? exit-code) (string=? 
> (car result) "which 'uname'")))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "pgrep"
>   source-file: "tests/shell.scm"
>   source-line: 70
>   source-form: (test-assert "pgrep" (begin (set-log-userdata! "pgrep") 
> (run-client-test (lambda (server) (start-server/exec server (const #t))) 
> (lambda () (call-with-connected-session/shell (lambda (session) (receive 
> (result exit-code) (pgrep session "guile --listen=37146" #:full? #t) (and 
> (zero? exit-code) (string=? "pgrep -f 'guile --listen=37146'" (car 
> result))))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "command-available?"
>   source-file: "tests/shell.scm"
>   source-line: 83
>   source-form: (test-assert "command-available?" (begin (set-log-userdata! 
> "command-available?") (run-client-test (lambda (server) (start-server/exec 
> server (const #t))) (lambda () (call-with-connected-session/shell (lambda 
> (session) (command-available? session "guile")))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "fallback-pgrep"
>   source-file: "tests/shell.scm"
>   source-line: 92
>   source-form: (test-assert "fallback-pgrep" (begin (set-log-userdata! 
> "fallback-pgrep") (run-client-test (lambda (server) (start-server/exec server 
> (const #t))) (lambda () (call-with-connected-session/shell (lambda (session) 
> (receive (result exit-code) (fallback-pgrep session "guile") (and (zero? 
> exit-code) result))))))))
> Test end:
>   result-kind: pass
>   actual-value: ()
> Test begin:
>   test-name: "loadavg"
>   source-file: "tests/shell.scm"
>   source-line: 104
>   source-form: (test-assert "loadavg" (begin (set-log-userdata! "loadavg") 
> (run-client-test (lambda (server) (start-server/exec server (const #t))) 
> (lambda () (call-with-connected-session/shell (lambda (session) (equal? 
> (loadavg session) (quote ("0.01" "0.05" "0.10" "4/1927" "242011")))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Group end: shell
> # of expected passes      6
> FAIL shell.scm (exit status: 1)
> 
> FAIL: server-client
> ===================
> 
> %%%% Starting test server-client  (Writing full log to "server-client.log")
> %%%% Starting test server-client  (Writing full log to "server-client.log")
> %%%% Starting test server-client  (Writing full log to "server-client.log")
> %%%% Starting test server-client  (Writing full log to "server-client.log")
> Backtrace:
>            4 (primitive-load "/<<BUILDDIR>>/guile-ssh-0.13…")
> In ice-9/eval.scm:
>    191:35  3 (_ #f)
>    196:35  2 (_ #f)
>     263:9  1 (_ #(#(#<directory (guile-user) 7faef3c82c80>) #f))
>     155:9  0 (_ _)
> 
> ice-9/eval.scm:155:9: In procedure struct-vtable: Wrong type argument in 
> position 1 (expecting struct): #f
> %%%% Starting test server-client  (Writing full log to "server-client.log")
> # of expected passes      4
> ept, key exchange" (begin (set-log-userdata! "accept, key exchange") 
> (run-server-test (lambda (session) (sleep 1) (connect! session) 
> (authenticate-server session)) (lambda (server) (server-listen server) (let 
> ((s (server-accept server))) (catch #t (lambda () (server-handle-key-exchange 
> s)) (lambda (key . args) (display args) (newline))) s)))))
> Test end:
>   result-kind: pass
>   actual-value: #<session #<undefined>@#<undefined>:22 (connected) 
> 7faef2648fa0>
> Test begin:
>   test-name: "server-message-get"
>   source-file: "tests/server-client.scm"
>   source-line: 68
>   source-form: (test-assert "server-message-get" (begin (set-log-userdata! 
> "server-message-get") (run-server-test (lambda (session) (sleep 1) (connect! 
> session) (clnmsg "connected") (authenticate-server session) (clnmsg "server 
> authenticated") (userauth-none! session) (clnmsg "client authenticated")) 
> (lambda (server) (server-listen server) (let ((session (server-accept 
> server))) (server-handle-key-exchange session) (let ((msg (server-message-get 
> session))) (message-auth-set-methods! msg (quote (none))) 
> (message-reply-success msg) (message? msg)))))))
>     client: connected
>     client: server authenticated
> %%%% Starting test server-client
> Group begin: server-client
> Test begin:
>   test-name: "accept, key exchange"
>   source-file: "tests/server-client.scm"
>   source-line: 46
>   source-form: (test-assert "accept, key exchange" (begin (set-log-userdata! 
> "accept, key exchange") (run-server-test (lambda (session) (sleep 1) 
> (connect! session) (authenticate-server session)) (lambda (server) 
> (server-listen server) (let ((s (server-accept server))) (catch #t (lambda () 
> (server-handle-key-exchange s)) (lambda (key . args) (display args) 
> (newline))) s)))))
> Test end:
>   result-kind: pass
>   actual-value: #<session #<undefined>@#<undefined>:22 (connected) 
> 7faef2648fa0>
> Test begin:
>   test-name: "server-message-get"
>   source-file: "tests/server-client.scm"
>   source-line: 68
>   source-form: (test-assert "server-message-get" (begin (set-log-userdata! 
> "server-message-get") (run-server-test (lambda (session) (sleep 1) (connect! 
> session) (clnmsg "connected") (authenticate-server session) (clnmsg "server 
> authenticated") (userauth-none! session) (clnmsg "client authenticated")) 
> (lambda (server) (server-listen server) (let ((session (server-accept 
> server))) (server-handle-key-exchange session) (let ((msg (server-message-get 
> session))) (message-auth-set-methods! msg (quote (none))) 
> (message-reply-success msg) (message? msg)))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "message-get-type"
>   source-file: "tests/server-client.scm"
>   source-line: 92
>   source-form: (test-assert "message-get-type" (begin (set-log-userdata! 
> "message-get-type") (run-server-test (lambda (session) (usleep 100) (connect! 
> session) (while (not (connected? session)) (usleep 100) (connect! session)) 
> (clnmsg "connected") (authenticate-server session) (clnmsg "server 
> authenticated") (userauth-none! session) (clnmsg "client authenticated") 
> (while #t (sleep 5))) (lambda (server) (server-listen server) (let ((session 
> (server-accept server))) (format-log/scm (quote nolog) "server" "session: ~a" 
> session) (server-handle-key-exchange session) (let ((msg (server-message-get 
> session))) (let ((msg-type (message-get-type msg)) (expected-type (quote 
> (request-service)))) (message-auth-set-methods! msg (quote (none))) 
> (message-reply-success msg) (disconnect! session) (equal? msg-type 
> expected-type))))))))
>     client: connected
>     client: server authenticated
> %%%% Starting test server-client
> Group begin: server-client
> Test begin:
>   test-name: "accept, key exchange"
>   source-file: "tests/server-client.scm"
>   source-line: 46
>   source-form: (test-assert "accept, key exchange" (begin (set-log-userdata! 
> "accept, key exchange") (run-server-test (lambda (session) (sleep 1) 
> (connect! session) (authenticate-server session)) (lambda (server) 
> (server-listen server) (let ((s (server-accept server))) (catch #t (lambda () 
> (server-handle-key-exchange s)) (lambda (key . args) (display args) 
> (newline))) s)))))
> Test end:
>   result-kind: pass
>   actual-value: #<session #<undefined>@#<undefined>:22 (connected) 
> 7faef2648fa0>
> Test begin:
>   test-name: "server-message-get"
>   source-file: "tests/server-client.scm"
>   source-line: 68
>   source-form: (test-assert "server-message-get" (begin (set-log-userdata! 
> "server-message-get") (run-server-test (lambda (session) (sleep 1) (connect! 
> session) (clnmsg "connected") (authenticate-server session) (clnmsg "server 
> authenticated") (userauth-none! session) (clnmsg "client authenticated")) 
> (lambda (server) (server-listen server) (let ((session (server-accept 
> server))) (server-handle-key-exchange session) (let ((msg (server-message-get 
> session))) (message-auth-set-methods! msg (quote (none))) 
> (message-reply-success msg) (message? msg)))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "message-get-type"
>   source-file: "tests/server-client.scm"
>   source-line: 92
>   source-form: (test-assert "message-get-type" (begin (set-log-userdata! 
> "message-get-type") (run-server-test (lambda (session) (usleep 100) (connect! 
> session) (while (not (connected? session)) (usleep 100) (connect! session)) 
> (clnmsg "connected") (authenticate-server session) (clnmsg "server 
> authenticated") (userauth-none! session) (clnmsg "client authenticated") 
> (while #t (sleep 5))) (lambda (server) (server-listen server) (let ((session 
> (server-accept server))) (format-log/scm (quote nolog) "server" "session: ~a" 
> session) (server-handle-key-exchange session) (let ((msg (server-message-get 
> session))) (let ((msg-type (message-get-type msg)) (expected-type (quote 
> (request-service)))) (message-auth-set-methods! msg (quote (none))) 
> (message-reply-success msg) (disconnect! session) (equal? msg-type 
> expected-type))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "message-get-session"
>   source-file: "tests/server-client.scm"
>   source-line: 125
>   source-form: (test-assert "message-get-session" (begin (set-log-userdata! 
> "message-get-session") (run-server-test (lambda (session) (sleep 1) (connect! 
> session) (usleep 100) (authenticate-server session) (usleep 100) 
> (userauth-none! session) (while #t (sleep 5))) (lambda (server) 
> (server-listen server) (let ((session (server-accept server))) 
> (server-handle-key-exchange session) (let* ((msg (server-message-get 
> session)) (x (message-get-session msg))) (message-auth-set-methods! msg 
> (quote (none))) (message-reply-success msg) (disconnect! x) (equal? x 
> session)))))))
> %%%% Starting test server-client
> Group begin: server-client
> Test begin:
>   test-name: "accept, key exchange"
>   source-file: "tests/server-client.scm"
>   source-line: 46
>   source-form: (test-assert "accept, key exchange" (begin (set-log-userdata! 
> "accept, key exchange") (run-server-test (lambda (session) (sleep 1) 
> (connect! session) (authenticate-server session)) (lambda (server) 
> (server-listen server) (let ((s (server-accept server))) (catch #t (lambda () 
> (server-handle-key-exchange s)) (lambda (key . args) (display args) 
> (newline))) s)))))
> Test end:
>   result-kind: pass
>   actual-value: #<session #<undefined>@#<undefined>:22 (connected) 
> 7faef2648fa0>
> Test begin:
>   test-name: "server-message-get"
>   source-file: "tests/server-client.scm"
>   source-line: 68
>   source-form: (test-assert "server-message-get" (begin (set-log-userdata! 
> "server-message-get") (run-server-test (lambda (session) (sleep 1) (connect! 
> session) (clnmsg "connected") (authenticate-server session) (clnmsg "server 
> authenticated") (userauth-none! session) (clnmsg "client authenticated")) 
> (lambda (server) (server-listen server) (let ((session (server-accept 
> server))) (server-handle-key-exchange session) (let ((msg (server-message-get 
> session))) (message-auth-set-methods! msg (quote (none))) 
> (message-reply-success msg) (message? msg)))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "message-get-type"
>   source-file: "tests/server-client.scm"
>   source-line: 92
>   source-form: (test-assert "message-get-type" (begin (set-log-userdata! 
> "message-get-type") (run-server-test (lambda (session) (usleep 100) (connect! 
> session) (while (not (connected? session)) (usleep 100) (connect! session)) 
> (clnmsg "connected") (authenticate-server session) (clnmsg "server 
> authenticated") (userauth-none! session) (clnmsg "client authenticated") 
> (while #t (sleep 5))) (lambda (server) (server-listen server) (let ((session 
> (server-accept server))) (format-log/scm (quote nolog) "server" "session: ~a" 
> session) (server-handle-key-exchange session) (let ((msg (server-message-get 
> session))) (let ((msg-type (message-get-type msg)) (expected-type (quote 
> (request-service)))) (message-auth-set-methods! msg (quote (none))) 
> (message-reply-success msg) (disconnect! session) (equal? msg-type 
> expected-type))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "message-get-session"
>   source-file: "tests/server-client.scm"
>   source-line: 125
>   source-form: (test-assert "message-get-session" (begin (set-log-userdata! 
> "message-get-session") (run-server-test (lambda (session) (sleep 1) (connect! 
> session) (usleep 100) (authenticate-server session) (usleep 100) 
> (userauth-none! session) (while #t (sleep 5))) (lambda (server) 
> (server-listen server) (let ((session (server-accept server))) 
> (server-handle-key-exchange session) (let* ((msg (server-message-get 
> session)) (x (message-get-session msg))) (message-auth-set-methods! msg 
> (quote (none))) (message-reply-success msg) (disconnect! x) (equal? x 
> session)))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Group end: server-client
> # of expected passes      4
> FAIL server-client.scm (exit status: 1)
> 
> FAIL: sssh-ssshd
> ================
> 
> %%%% Starting test sssh-ssshd
> Group begin: sssh-ssshd
> Test begin:
>   test-name: "ssshd, start"
>   source-file: "tests/sssh-ssshd.scm"
>   source-line: 97
>   source-form: (test-assert "ssshd, start" (let ((max-tries 10)) (system 
> *ssshd-cmd*) (let ((pid (wait-pid-file max-tries *srv-pid-file*))) (cleanup 
> pid) pid)))
> Test end:
>   result-kind: pass
>   actual-value: 4493
> Test begin:
>   test-name: "sssh, exec"
>   source-file: "tests/sssh-ssshd.scm"
>   source-line: 104
>   source-form: (test-assert "sssh, exec" (let ((max-tries 10)) (system 
> *ssshd-cmd*) (let* ((pid (wait-pid-file max-tries *srv-pid-file*)) (output 
> (read-line (open-input-pipe *test-cmd*))) (p (open-input-pipe *sssh-cmd*)) 
> (result (let r ((res "") (l (read-line p))) (and (not (eof-object? l)) (if 
> (string=? output res) #t (r (string-append res l) (read-line p))))))) 
> (cleanup pid) result)))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Group end: sssh-ssshd
> # of expected passes      2
> shd.pid
> ---------- ssshd ----------
> Using private RSA key: 
> /<<PKGBUILDDIR>>/debian/build/guile-3.0/../../../tests/keys/rsakey
> Using private DSA key: 
> /<<PKGBUILDDIR>>/debian/build/guile-3.0/../../../tests/keys/dsakey
> Listening on port:     12600
> PID file:              ssshd.pid
> Backtrace:
>            4 (primitive-load "/<<BUILDDIR>>/guile-ssh-0.13…")
> In ice-9/eval.scm:
>    191:35  3 (_ #f)
>    196:35  2 (_ #f)
>     263:9  1 (_ #(#(#<directory (guile-user) 7f80b9cf7c80>) #f))
>     155:9  0 (_ _)
> 
> ice-9/eval.scm:155:9: In procedure struct-vtable: Wrong type argument in 
> position 1 (expecting struct): #f
> %%%% Starting test sssh-ssshd  (Writing full log to "sssh-ssshd.log")
> # of expected passes      2
> FAIL sssh-ssshd.scm (exit status: 1)
> 
> FAIL: key
> =========
> 
> Backtrace:
>            4 (primitive-load "/<<BUILDDIR>>/guile-ssh-0.13…")
> In ice-9/eval.scm:
>    191:35  3 (_ #f)
>    196:35  2 (_ #f)
>     263:9  1 (_ #(#(#<directory (guile-user) 7f9ea1d17c80>) #f))
>     155:9  0 (_ _)
> 
> ice-9/eval.scm:155:9: In procedure struct-vtable: Wrong type argument in 
> position 1 (expecting struct): #f
> %%%% Starting test key  (Writing full log to "key.log")
> # of expected passes      16
> 256 (private) 7f9ea06d8fa0>
> Test begin:
>   test-name: "public-key-from-file"
>   source-file: "tests/key.scm"
>   source-line: 44
>   source-form: (test-assert "public-key-from-file" (begin (set-log-userdata! 
> "public-key-from-file") (and (public-key-from-file %rsakey-pub) 
> (public-key-from-file %dsakey-pub) (when-openssl (public-key-from-file 
> %ecdsakey-pub)))))
> Test end:
>   result-kind: pass
>   actual-value: #<key ecdsa-p256 (public) 7f9ea06d8f40>
> Test begin:
>   test-name: "key?"
>   source-file: "tests/key.scm"
>   source-line: 59
>   source-form: (test-assert "key?" (and (not (key? "not a key")) (key? 
> *rsa-key*) (key? *dsa-key*) (when-openssl (key? *ecdsa-key*)) (key? 
> *rsa-pub-key*) (key? *dsa-pub-key*) (when-openssl (key? *ecdsa-pub-key*))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "private-key?"
>   source-file: "tests/key.scm"
>   source-line: 70
>   source-form: (test-assert "private-key?" (and (private-key? *rsa-key*) (not 
> (private-key? *rsa-pub-key*)) (not (private-key? "not a key"))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "public-key?"
>   source-file: "tests/key.scm"
>   source-line: 75
>   source-form: (test-assert "public-key?" (begin (set-log-userdata! 
> "public-key?") (and (public-key? *rsa-pub-key*) (public-key? *rsa-key*) (not 
> (public-key? "not a key")))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "private-key->public-key"
>   source-file: "tests/key.scm"
>   source-line: 84
>   source-form: (test-assert "private-key->public-key" (begin 
> (set-log-userdata! "private-key->public-key") (and (private-key->public-key 
> *rsa-key*) (private-key->public-key *dsa-key*) (when-openssl 
> (private-key->public-key *ecdsa-key*)))))
> Test end:
>   result-kind: pass
>   actual-value: #<key ecdsa-p256 (public) 7f9ea06d8e20>
> Test begin:
>   test-name: "get-key-type"
>   source-file: "tests/key.scm"
>   source-line: 90
>   source-form: (test-assert "get-key-type" (begin (set-log-userdata! 
> "get-key-type") (and (eq? (quote rsa) (get-key-type *rsa-key*)) (eq? (quote 
> dss) (get-key-type *dsa-key*)) (when-openssl (or (eq? (quote ecdsa-p256) 
> (get-key-type *ecdsa-key*)) (eq? (quote ecdsa) (get-key-type 
> *ecdsa-key*)))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "private-key-to-file"
>   source-file: "tests/key.scm"
>   source-line: 99
>   source-form: (test-assert "private-key-to-file" (begin (set-log-userdata! 
> "private-key-to-file") (when-openssl (let ((file-name "./tmp-rsa-key")) 
> (private-key-to-file *rsa-key* file-name) (let ((key (private-key-from-file 
> file-name))) (delete-file file-name) (and (key? key) (private-key? key)))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "public-key->string, RSA"
>   source-file: "tests/key.scm"
>   source-line: 119
>   source-form: (test-equal "public-key->string, RSA" (public-key->string 
> *rsa-pub-key*) %rsakey-pub-string)
> Test end:
>   result-kind: pass
>   actual-value: 
> "AAAAB3NzaC1yc2EAAAADAQABAAABAQC+8H9j5Yt3xeqaAxXAtSbBsW0JsJegngwfLveHA0ev3ndEKruylR6CZgf6OxshTwUeBaqn7jJMf+6RRQPTcxihgtZAfdyKdPGWDtmePBnG64+uGEaP8N3KvCzlANKf5tmxS8brJlQhxKL8t+3IE8w3QmCMnCGKWprsL/ygPA9koWauUqqKvOQbZXdUEfLvZfnsE1laRyK4dwLiiM2vyGZM/2yePLP4xYu/uYdPFaukxt3DMcgrEy9zuVcU8wbkJMKM57sambvituzMVVqRdeMX9exZv32qcXlpChl4XjFClQ0lqOb8S8CNTPXm3zQ2ZJrQtUHiD54RYhlXD7X0TO6v"
>   expected-value: 
> "AAAAB3NzaC1yc2EAAAADAQABAAABAQC+8H9j5Yt3xeqaAxXAtSbBsW0JsJegngwfLveHA0ev3ndEKruylR6CZgf6OxshTwUeBaqn7jJMf+6RRQPTcxihgtZAfdyKdPGWDtmePBnG64+uGEaP8N3KvCzlANKf5tmxS8brJlQhxKL8t+3IE8w3QmCMnCGKWprsL/ygPA9koWauUqqKvOQbZXdUEfLvZfnsE1laRyK4dwLiiM2vyGZM/2yePLP4xYu/uYdPFaukxt3DMcgrEy9zuVcU8wbkJMKM57sambvituzMVVqRdeMX9exZv32qcXlpChl4XjFClQ0lqOb8S8CNTPXm3zQ2ZJrQtUHiD54RYhlXD7X0TO6v"
> Test begin:
>   test-name: "public-key->string, DSA"
>   source-file: "tests/key.scm"
>   source-line: 123
>   source-form: (test-equal "public-key->string, DSA" (public-key->string 
> *dsa-pub-key*) %dsakey-pub-string)
> Test end:
>   result-kind: pass
>   actual-value: 
> "AAAAB3NzaC1kc3MAAACBAOpnJ64w3Qo3HkCCODTPpLqPUrDLg0bxWdoae2tsXFwhBthIlCV8N0hTzOj1Qrgnx/WiuDk5qXSKOHisyqVBv8sGLOUTBy0Fdz1SobZ9+WGu5+5EiJm78MZcgtHXHu1GPuImANifbSaDJpIGKItq0V5WhpLXyQC7o0Vt70sGQboVAAAAFQDeu+6APBWXtqq2Ch+nODn7VDSIhQAAAIA5iGHYbztSq8KnWj1J/6GTvsPp1JFqZ3hFX5wlGIV4XxBdeEZnCPrhYJumM7SRjYjWMpW5eqFNs5o3d+rJPFFwDo7yW10WC3Bfpo5xRxU35xf/aFAVbm3vi/HRQvv4cFrwTLvPHgNYGYdZiHXCXPoYIh+WoKT9n3MfrBXB4hpAmwAAAIEArkWuRnbjfPVFpXrWGw6kMPVdhOZr1ghdlG5bY31y4UKUlmHvXx5YZ776dSRSMJY2u4lS73+SFgwPdkmpgGma/rZdd9gly9T7SiSr/4qXJyS8Muh203xsAU3ukRocY8lsvllKEGiCJmrUTJWmj0UYEDsbqy2k/1Yz2Q/awygyk9c="
>   expected-value: 
> "AAAAB3NzaC1kc3MAAACBAOpnJ64w3Qo3HkCCODTPpLqPUrDLg0bxWdoae2tsXFwhBthIlCV8N0hTzOj1Qrgnx/WiuDk5qXSKOHisyqVBv8sGLOUTBy0Fdz1SobZ9+WGu5+5EiJm78MZcgtHXHu1GPuImANifbSaDJpIGKItq0V5WhpLXyQC7o0Vt70sGQboVAAAAFQDeu+6APBWXtqq2Ch+nODn7VDSIhQAAAIA5iGHYbztSq8KnWj1J/6GTvsPp1JFqZ3hFX5wlGIV4XxBdeEZnCPrhYJumM7SRjYjWMpW5eqFNs5o3d+rJPFFwDo7yW10WC3Bfpo5xRxU35xf/aFAVbm3vi/HRQvv4cFrwTLvPHgNYGYdZiHXCXPoYIh+WoKT9n3MfrBXB4hpAmwAAAIEArkWuRnbjfPVFpXrWGw6kMPVdhOZr1ghdlG5bY31y4UKUlmHvXx5YZ776dSRSMJY2u4lS73+SFgwPdkmpgGma/rZdd9gly9T7SiSr/4qXJyS8Muh203xsAU3ukRocY8lsvllKEGiCJmrUTJWmj0UYEDsbqy2k/1Yz2Q/awygyk9c="
> Test begin:
>   test-name: "public-key->string, ECDSA"
>   source-file: "tests/key.scm"
>   source-line: 128
>   source-form: (test-equal "public-key->string, ECDSA" (public-key->string 
> *ecdsa-pub-key*) %ecdsakey-pub-string)
> Test end:
>   result-kind: pass
>   actual-value: 
> "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHcpje/fp21KjuZFKgmKAAwHeYJ6e3ny4LwEVjZr8hOCVlBvqj7/krVqxbwZI7EcowbpYI1F8ZszS7zfUhKT3U4="
>   expected-value: 
> "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHcpje/fp21KjuZFKgmKAAwHeYJ6e3ny4LwEVjZr8hOCVlBvqj7/krVqxbwZI7EcowbpYI1F8ZszS7zfUhKT3U4="
> Test begin:
>   test-name: "string->public-key, RSA"
>   source-file: "tests/key.scm"
>   source-line: 133
>   source-form: (test-equal "string->public-key, RSA" (public-key->string 
> (string->public-key %rsakey-pub-string (quote rsa))) %rsakey-pub-string)
> Test end:
>   result-kind: pass
>   actual-value: 
> "AAAAB3NzaC1yc2EAAAADAQABAAABAQC+8H9j5Yt3xeqaAxXAtSbBsW0JsJegngwfLveHA0ev3ndEKruylR6CZgf6OxshTwUeBaqn7jJMf+6RRQPTcxihgtZAfdyKdPGWDtmePBnG64+uGEaP8N3KvCzlANKf5tmxS8brJlQhxKL8t+3IE8w3QmCMnCGKWprsL/ygPA9koWauUqqKvOQbZXdUEfLvZfnsE1laRyK4dwLiiM2vyGZM/2yePLP4xYu/uYdPFaukxt3DMcgrEy9zuVcU8wbkJMKM57sambvituzMVVqRdeMX9exZv32qcXlpChl4XjFClQ0lqOb8S8CNTPXm3zQ2ZJrQtUHiD54RYhlXD7X0TO6v"
>   expected-value: 
> "AAAAB3NzaC1yc2EAAAADAQABAAABAQC+8H9j5Yt3xeqaAxXAtSbBsW0JsJegngwfLveHA0ev3ndEKruylR6CZgf6OxshTwUeBaqn7jJMf+6RRQPTcxihgtZAfdyKdPGWDtmePBnG64+uGEaP8N3KvCzlANKf5tmxS8brJlQhxKL8t+3IE8w3QmCMnCGKWprsL/ygPA9koWauUqqKvOQbZXdUEfLvZfnsE1laRyK4dwLiiM2vyGZM/2yePLP4xYu/uYdPFaukxt3DMcgrEy9zuVcU8wbkJMKM57sambvituzMVVqRdeMX9exZv32qcXlpChl4XjFClQ0lqOb8S8CNTPXm3zQ2ZJrQtUHiD54RYhlXD7X0TO6v"
> Test begin:
>   test-name: "string->public-key, DSA"
>   source-file: "tests/key.scm"
>   source-line: 137
>   source-form: (test-equal "string->public-key, DSA" (public-key->string 
> (string->public-key %dsakey-pub-string (quote dss))) %dsakey-pub-string)
> Test end:
>   result-kind: pass
>   actual-value: 
> "AAAAB3NzaC1kc3MAAACBAOpnJ64w3Qo3HkCCODTPpLqPUrDLg0bxWdoae2tsXFwhBthIlCV8N0hTzOj1Qrgnx/WiuDk5qXSKOHisyqVBv8sGLOUTBy0Fdz1SobZ9+WGu5+5EiJm78MZcgtHXHu1GPuImANifbSaDJpIGKItq0V5WhpLXyQC7o0Vt70sGQboVAAAAFQDeu+6APBWXtqq2Ch+nODn7VDSIhQAAAIA5iGHYbztSq8KnWj1J/6GTvsPp1JFqZ3hFX5wlGIV4XxBdeEZnCPrhYJumM7SRjYjWMpW5eqFNs5o3d+rJPFFwDo7yW10WC3Bfpo5xRxU35xf/aFAVbm3vi/HRQvv4cFrwTLvPHgNYGYdZiHXCXPoYIh+WoKT9n3MfrBXB4hpAmwAAAIEArkWuRnbjfPVFpXrWGw6kMPVdhOZr1ghdlG5bY31y4UKUlmHvXx5YZ776dSRSMJY2u4lS73+SFgwPdkmpgGma/rZdd9gly9T7SiSr/4qXJyS8Muh203xsAU3ukRocY8lsvllKEGiCJmrUTJWmj0UYEDsbqy2k/1Yz2Q/awygyk9c="
>   expected-value: 
> "AAAAB3NzaC1kc3MAAACBAOpnJ64w3Qo3HkCCODTPpLqPUrDLg0bxWdoae2tsXFwhBthIlCV8N0hTzOj1Qrgnx/WiuDk5qXSKOHisyqVBv8sGLOUTBy0Fdz1SobZ9+WGu5+5EiJm78MZcgtHXHu1GPuImANifbSaDJpIGKItq0V5WhpLXyQC7o0Vt70sGQboVAAAAFQDeu+6APBWXtqq2Ch+nODn7VDSIhQAAAIA5iGHYbztSq8KnWj1J/6GTvsPp1JFqZ3hFX5wlGIV4XxBdeEZnCPrhYJumM7SRjYjWMpW5eqFNs5o3d+rJPFFwDo7yW10WC3Bfpo5xRxU35xf/aFAVbm3vi/HRQvv4cFrwTLvPHgNYGYdZiHXCXPoYIh+WoKT9n3MfrBXB4hpAmwAAAIEArkWuRnbjfPVFpXrWGw6kMPVdhOZr1ghdlG5bY31y4UKUlmHvXx5YZ776dSRSMJY2u4lS73+SFgwPdkmpgGma/rZdd9gly9T7SiSr/4qXJyS8Muh203xsAU3ukRocY8lsvllKEGiCJmrUTJWmj0UYEDsbqy2k/1Yz2Q/awygyk9c="
> Test begin:
>   test-name: "string->public-key, ECDSA"
>   source-file: "tests/key.scm"
>   source-line: 142
>   source-form: (test-equal "string->public-key, ECDSA" (if (string=? (cadr 
> (string-split (get-libssh-version) #\.)) "9") (public-key->string 
> (string->public-key %ecdsakey-pub-string (quote ecdsa-p256))) 
> (public-key->string (string->public-key %ecdsakey-pub-string (quote ecdsa)))) 
> %ecdsakey-pub-string)
> Test end:
>   result-kind: pass
>   actual-value: 
> "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHcpje/fp21KjuZFKgmKAAwHeYJ6e3ny4LwEVjZr8hOCVlBvqj7/krVqxbwZI7EcowbpYI1F8ZszS7zfUhKT3U4="
>   expected-value: 
> "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHcpje/fp21KjuZFKgmKAAwHeYJ6e3ny4LwEVjZr8hOCVlBvqj7/krVqxbwZI7EcowbpYI1F8ZszS7zfUhKT3U4="
> Test begin:
>   test-name: "string->public-key, RSA, gc test"
>   source-file: "tests/key.scm"
>   source-line: 148
>   source-form: (test-assert "string->public-key, RSA, gc test" (begin 
> (set-log-userdata! "string->public-key, RSA, gc test") (let ((max-keys 1000)) 
> (do ((idx 1 (+ idx 1))) ((> idx max-keys)) (when (zero? (euclidean-remainder 
> idx 100)) (format-log/scm (quote nolog) "" (format #f "~d / ~d keys created 
> ..." idx max-keys))) (public-key->string (string->public-key 
> %rsakey-pub-string (quote rsa)))) #t)))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "make-keypair"
>   source-file: "tests/key.scm"
>   source-line: 159
>   source-form: (test-assert "make-keypair" (begin (set-log-userdata! 
> "make-keypair") (and (let ((key (make-keypair (quote rsa) 1024))) (and (key? 
> key) (eq? (get-key-type key) (quote rsa)))) (let ((key (make-keypair (quote 
> dss) 1024))) (and (key? key) (eq? (get-key-type key) (quote dss)))) 
> (when-openssl (let ((key (make-keypair (quote ecdsa) 256))) (and (key? key) 
> (or (eq? (get-key-type key) (quote ecdsa)) (eq? (get-key-type key) (quote 
> ecdsa-p256)))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Group end: key
> # of expected passes      16
> FAIL key.scm (exit status: 1)
> 
> FAIL: tunnel
> ============
> 
> %%%% Starting test tunnel
> Group begin: tunnel
> Test begin:
>   test-name: "port forwarding, direct"
>   source-file: "tests/tunnel.scm"
>   source-line: 65
>   source-form: (test-assert "port forwarding, direct" (begin 
> (set-log-userdata! "port forwarding, direct") (equal? (run-client-test 
> (lambda (server) (start-server/dt-test server (lambda (%%%% Starting test 
> tunnel  (Writing full log to "tunnel.log")
> # of expected passes      5
> on/tunnel (lambda (session) (call-with-forward-channel session (lambda 
> (channel) (write-line %test-string channel) (poll channel read-line))))))) 
> %test-string)))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "port forwarding, direct, disconnected session"
>   source-file: "tests/tunnel.scm"
>   source-line: 82
>   source-form: (test-assert "port forwarding, direct, disconnected session" 
> (begin (set-log-userdata! "port forwarding, direct, disconnected session") 
> (catch #t (lambda () (run-client-test (lambda (server) (start-server/dt-test 
> server (lambda (channel) (write-line (read-line channel) channel)))) (lambda 
> () (call-with-connected-session/tunnel (lambda (session) (disconnect! 
> session) (call-with-forward-channel session (const #f)))))) #f) (const #t))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "make-tunnel"
>   source-file: "tests/tunnel.scm"
>   source-line: 98
>   source-form: (test-assert "make-tunnel" (begin (set-log-userdata! 
> "make-tunnel") (run-client-test (lambda (server) (start-server/dt-test server 
> (lambda (channel) (write-line (read-line channel) channel)))) (lambda () 
> (call-with-connected-session/tunnel (lambda (session) (let* ((local-port 
> (get-unused-port)) (remote-host "www.example.org") (tunnel (make-tunnel 
> session #:port local-port #:host remote-host))) (and (eq? (tunnel-session 
> tunnel) session) (string=? (tunnel-bind-address tunnel) "127.0.0.1") (eq? 
> (tunnel-port tunnel) local-port) (eq? (tunnel-host-port tunnel) local-port) 
> (eq? (tunnel-host tunnel) remote-host) (eq? (tunnel-reverse? tunnel) 
> #f)))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "call-with-ssh-forward"
>   source-file: "tests/tunnel.scm"
>   source-line: 150
>   source-form: (test-assert "call-with-ssh-forward" (begin (set-log-userdata! 
> "call-with-ssh-forward") (equal? (run-client-test (lambda (server) 
> (start-server/exec server (lambda (channel) (write-line (read-line channel) 
> channel)))) (lambda () (call-with-connected-session/tunnel (lambda (session) 
> (let* ((local-port (get-unused-port)) (remote-host "www.example.org") (tunnel 
> (make-tunnel session #:port local-port #:host remote-host))) (let ((result 
> (call-with-ssh-forward tunnel (lambda (channel) (write-line %test-string 
> channel) (poll channel read-line))))) (disconnect! session) result)))))) 
> %test-string)))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "channel-{listen,cancel}-forward"
>   source-file: "tests/tunnel.scm"
>   source-line: 175
>   source-form: (test-assert "channel-{listen,cancel}-forward" (begin 
> (set-log-userdata! "channel-{listen,cancel}-forward") (run-client-test 
> (lambda (server) (start-server/exec server (const #t))) (lambda () 
> (call-with-connected-session/tunnel (lambda (session) (let ((portnum 
> (get-unused-port))) (and (receive (result pnum) (channel-listen-forward 
> session #:address "localhost" #:port portnum) (and (equal? result (quote ok)) 
> (= pnum portnum))) (eq? (channel-cancel-forward session "localhost" portnum) 
> (quote ok))))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Group end: tunnel
> # of expected passes      5
> FAIL tunnel.scm (exit status: 1)
> 
> FAIL: dist
> ==========
> 
> Backtrace:
>            4 (primitive-load "/<<BUILDDIR>>/guile-ssh-0.13…")
> In ice-9/eval.scm:
>    191:35  3 (_ #f)
>    196:35  2 (_ #f)
>     263:9  1 (_ #(#(#<directory (guile-user) 7f6ea6251c80>) #f))
>     155:9  0 (_ _)
> 
> ice-9/eval.scm:155:9: In procedure struct-vtable: Wrong type argument in 
> position 1 (expecting struct): #f
> %%%% Starting test dist  (Writing full log to "dist.log")
> # of expected passes      19
> est end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "split, 1"
>   source-file: "tests/dist.scm"
>   source-line: 57
>   source-form: (test-equal "split, 1" (quote ((a b) (c d) (e f g))) (split 
> (quote (a b c d e f g)) 3))
> Test end:
>   result-kind: pass
>   actual-value: ((a b) (c d) (e f g))
>   expected-value: ((a b) (c d) (e f g))
> Test begin:
>   test-name: "split, 2"
>   source-file: "tests/dist.scm"
>   source-line: 61
>   source-form: (test-equal "split, 2" (quote ((a))) (split (quote (a)) 2))
> Test end:
>   result-kind: pass
>   actual-value: ((a))
>   expected-value: ((a))
> Test begin:
>   test-name: "make-job"
>   source-file: "tests/dist.scm"
>   source-line: 66
>   source-form: (test-assert "make-job" (begin (set-log-userdata! "make-job") 
> (run-client-test (lambda (server) (start-server/exec server (const #f))) 
> (lambda () (call-with-connected-session/shell (lambda (session) (let* ((node 
> (make-node session)) (data (quote (1 2 3))) (proc (quote (lambda (n) (#{1+}# 
> n)))) (j (make-job (quote map) node data proc))) (and (eq? (job-type j) 
> (quote map)) (eq? (job-node j) node) (eq? (job-data j) data) (eq? (job-proc 
> j) proc)))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "set-job-node"
>   source-file: "tests/dist.scm"
>   source-line: 85
>   source-form: (test-assert "set-job-node" (begin (set-log-userdata! 
> "set-job-node") (run-client-test (lambda (server) (start-server/exec server 
> (const #t))) (lambda () (call-with-connected-session/shell (lambda (session) 
> (let* ((n1 (make-node session)) (n2 (make-node session)) (data (quote ())) 
> (proc (quote (lambda (n) (#{1+}# n)))) (j1 (make-job (quote map) n1 data 
> proc)) (j2 (set-job-node j1 n2))) (and (not (eq? j1 j2)) (eq? (job-type j1) 
> (job-type j2)) (eq? (job-node j1) n1) (eq? (job-node j2) n2) (eq? (job-data 
> j1) (job-data j2)) (eq? (job-proc j1) (job-proc j2))))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "hand-out-job, invalid type"
>   source-file: "tests/dist.scm"
>   source-line: 107
>   source-form: (test-assert "hand-out-job, invalid type" (begin 
> (set-log-userdata! "hand-out-job, invalid type") (catch #t (lambda () 
> (run-client-test (lambda (server) (start-server/exec server (const #t))) 
> (lambda () (call-with-connected-session/shell (lambda (session) (let ((n 
> (make-node session))) (hand-out-job (make-job (quote invalid-job) n (quote 
> ()) (const #t)))))))) #f) (const #t))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "assign-eval"
>   source-file: "tests/dist.scm"
>   source-line: 120
>   source-form: (test-assert "assign-eval" (begin (set-log-userdata! 
> "assign-eval") (run-client-test (lambda (server) (start-server/exec server 
> (const #t))) (lambda () (call-with-connected-session/shell (lambda (session) 
> (let* ((nodes (make-list 2 (make-node session))) (exprs (make-list 10 (quote 
> (lambda (x) (#{1+}# x))))) (jobs (assign-eval nodes exprs))) (and (eq? 
> (length jobs) 2) (eq? (job-type (car jobs)) (quote eval)) (eq? (length 
> (job-proc (car jobs))) 5)))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "rrepl-get-result"
>   source-file: "tests/dist.scm"
>   source-line: 141
>   source-form: (test-assert "rrepl-get-result" (receive (result eval-num 
> module-name lang) (call-with-input-string "scheme@(guile-user)> $0 = test" 
> rrepl-get-result) (and (eq? result (quote test)) (= eval-num 0) (string=? 
> module-name "(guile-user)") (string=? lang "scheme"))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "rrepl-get-result, unspecified"
>   source-file: "tests/dist.scm"
>   source-line: 150
>   source-form: (test-assert "rrepl-get-result, unspecified" (receive (result 
> eval-num module-name lang) (call-with-input-string "scheme@(guile-user)> " 
> rrepl-get-result) (and (eq? result *unspecified*) (eq? eval-num 
> *unspecified*) (string=? module-name "(guile-user)") (string=? lang 
> "scheme"))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "rrepl-get-result, error"
>   source-file: "tests/dist.scm"
>   source-line: 159
>   source-form: (test-assert "rrepl-get-result, error" (begin 
> (set-log-userdata! "rrepl-get-result, error") (catch #t (lambda () 
> (call-with-input-string "scheme@(guile-user)> ERROR: error." 
> rrepl-get-result) #f) (lambda (key . args) (if (equal? key (quote 
> node-repl-error)) (let* ((message (cadr args)) (result (string=? message 
> "scheme@(guile-user)> ERROR: error."))) (unless result (format-log/scm (quote 
> nolog) "rrepl-get-result, error" (string-append "Messages do not match: " 
> "expected \"~a\", got \"~a\"") result "scheme@(guile-user)> ERROR: error.")) 
> result) (begin (format-log/scm (quote nolog) "rrepl-get-result, error" 
> (string-append "Errors do not match: " "expected '~a', got '~a' (args: ~a)") 
> (quote node-repl-error) key args) #f))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "rrepl-get-result, compilation error"
>   source-file: "tests/dist.scm"
>   source-line: 165
>   source-form: (test-assert "rrepl-get-result, compilation error" (begin 
> (set-log-userdata! "rrepl-get-result, compilation error") (catch #t (lambda 
> () (call-with-input-string (string-append "scheme@(guile-user)> While 
> compiling expression:\n" "ERROR: no code for module 
> (module-that-doesnt-exist)") rrepl-get-result) #f) (lambda (key . args) (if 
> (equal? key (quote node-repl-error)) (let* ((message (cadr args)) (result 
> (string=? message "scheme@(guile-user)> While compiling expression:\nERROR: 
> no code for module (module-that-doesnt-exist)"))) (unless result 
> (format-log/scm (quote nolog) "rrepl-get-result, compilation error" 
> (string-append "Messages do not match: " "expected \"~a\", got \"~a\"") 
> result "scheme@(guile-user)> While compiling expression:\nERROR: no code for 
> module (module-that-doesnt-exist)")) result) (begin (format-log/scm (quote 
> nolog) "rrepl-get-result, compilation error" (string-append "Errors do not 
> match: " "expected '~a', got '~a' (args: ~a)") (quote node-repl-error) key 
> args) #f))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "rrepl-get-result, unbound variable error"
>   source-file: "tests/dist.scm"
>   source-line: 172
>   source-form: (test-assert "rrepl-get-result, unbound variable error" (begin 
> (set-log-userdata! "rrepl-get-result, unbound variable error") (catch #t 
> (lambda () (call-with-input-string (string-append (string-append 
> "scheme@(guile-user)> ;;; socket:9:7: warning: " "possibly unbound variable 
> `e'\nsocket:9:7: " "In procedure #<procedure 1a44920 at socket:9:7 ()>:\n" 
> "socket:9:7: In procedure module-lookup: Unbound variable: e")) 
> rrepl-get-result) #f) (lambda (key . args) (if (equal? key (quote 
> node-repl-error)) (let* ((message (cadr args)) (result (string=? message 
> "scheme@(guile-user)> ;;; socket:9:7: warning: possibly unbound variable 
> `e'\nsocket:9:7: In procedure #<procedure 1a44920 at socket:9:7 
> ()>:\nsocket:9:7: In procedure module-lookup: Unbound variable: e"))) (unless 
> result (format-log/scm (quote nolog) "rrepl-get-result, unbound variable 
> error" (string-append "Messages do not match: " "expected \"~a\", got 
> \"~a\"") result "scheme@(guile-user)> ;;; socket:9:7: warning: possibly 
> unbound variable `e'\nsocket:9:7: In procedure #<procedure 1a44920 at 
> socket:9:7 ()>:\nsocket:9:7: In procedure module-lookup: Unbound variable: 
> e")) result) (begin (format-log/scm (quote nolog) "rrepl-get-result, unbound 
> variable error" (string-append "Errors do not match: " "expected '~a', got 
> '~a' (args: ~a)") (quote node-repl-error) key args) #f))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "rrepl-get-result, unknown # object error"
>   source-file: "tests/dist.scm"
>   source-line: 185
>   source-form: (test-assert "rrepl-get-result, unknown # object error" (begin 
> (set-log-userdata! "rrepl-get-result, unknown # object error") (catch #t 
> (lambda () (call-with-input-string (string-append "scheme@(guile-user)> $4 = 
> " "#<session #<undefined>@#<undefined>:22 (disconnected) 453fff>") 
> rrepl-get-result) #f) (lambda (key . args) (if (equal? key (quote 
> node-repl-error)) (let* ((message (cadr args)) (result (string=? message 
> "Reader error: scm_lreadr: #<unknown port>:1:3: Unknown # object: (#\\<): 
> scheme@(guile-user)> $4 = #<session #<undefined>@#<undefined>:22 
> (disconnected) 453fff>"))) (unless result (format-log/scm (quote nolog) 
> "rrepl-get-result, unknown # object error" (string-append "Messages do not 
> match: " "expected \"~a\", got \"~a\"") result "Reader error: scm_lreadr: 
> #<unknown port>:1:3: Unknown # object: (#\\<): scheme@(guile-user)> $4 = 
> #<session #<undefined>@#<undefined>:22 (disconnected) 453fff>")) result) 
> (begin (format-log/scm (quote nolog) "rrepl-get-result, unknown # object 
> error" (string-append "Errors do not match: " "expected '~a', got '~a' (args: 
> ~a)") (quote node-repl-error) key args) #f))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "rrepl-get-result, elisp"
>   source-file: "tests/dist.scm"
>   source-line: 194
>   source-form: (test-assert "rrepl-get-result, elisp" (receive (result 
> eval-num module-name lang) (call-with-input-string "elisp@(guile-user)> $0 = 
> #nil" rrepl-get-result) (and (eq? result (quote #nil)) (= eval-num 0) 
> (string=? module-name "(guile-user)") (string=? lang "elisp"))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "rrepl-get-result, multiple values"
>   source-file: "tests/dist.scm"
>   source-line: 203
>   source-form: (test-assert "rrepl-get-result, multiple values" (receive 
> (result eval-num module-name lang) (call-with-input-string 
> "scheme@(guile-user)> $0 = v1\n$1 = v2" rrepl-get-result) (and (vector? 
> eval-num) (vector? result) (eq? (vector-ref result 0) (quote v1)) (eq? 
> (vector-ref result 1) (quote v2)) (= (vector-ref eval-num 0) 0) (= 
> (vector-ref eval-num 1) 1) (string=? module-name "(guile-user)") (string=? 
> lang "scheme"))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "rrepl-skip-to-prompt, valid input"
>   source-file: "tests/dist.scm"
>   source-line: 217
>   source-form: (test-assert "rrepl-skip-to-prompt, valid input" (begin 
> (call-with-input-string "Enter `,help' for help." (lambda (port) 
> (rrepl-skip-to-prompt port))) #t))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "rrepl-skip-to-prompt, invalid input"
>   source-file: "tests/dist.scm"
>   source-line: 224
>   source-form: (test-assert "rrepl-skip-to-prompt, invalid input" (begin 
> (set-log-userdata! "rrepl-skip-to-prompt, invalid input") (catch #t (lambda 
> () (call-with-input-string "invalid input" (lambda (port) 
> (rrepl-skip-to-prompt port))) #f) (lambda (key . args) (let ((result (equal? 
> key (quote node-error)))) (unless result (format-log/scm (quote nolog) 
> "rrepl-skip-to-prompt, invalid input" (string-append "Errors do not match: " 
> "expected ~a, got ~a (args: ~a)") (quote node-error) key args)) result)))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "node-guile-version, valid response"
>   source-file: "tests/dist.scm"
>   source-line: 229
>   source-form: (test-assert "node-guile-version, valid response" (begin 
> (set-log-userdata! "node-guile-version, valid response") (run-client-test 
> (lambda (server) (start-server/exec server (const #t))) (lambda () 
> (call-with-connected-session/shell (lambda (session) (format-log/scm (quote 
> nolog) "client" "session: ~a" session) (let ((n (make-node session))) 
> (string=? (node-guile-version n) "GNU Guile 2.2.3"))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Test begin:
>   test-name: "with-ssh"
>   source-file: "tests/dist.scm"
>   source-line: 249
>   source-form: (test-assert "with-ssh" (begin (set-log-userdata! "with-ssh") 
> (run-client-test (lambda (server) (start-server/exec server (lambda (session 
> message channel) (let ((line (read-line channel))) (format-log/scm (quote 
> nolog) "with-ssh" "client request: ~A" line) (write-line "$1 = 42\n" 
> channel))))) (lambda () (call-with-connected-session/shell (lambda (session) 
> (format-log/scm (quote nolog) "client" "session: ~a" session) (let ((n 
> (make-node session))) (= (with-ssh n (+ 21 21)) 42))))))))
> Test end:
>   result-kind: pass
>   actual-value: #t
> Group end: dist
> # of expected passes      19
> FAIL dist.scm (exit status: 1)
> 
> ============================================================================
> Testsuite summary for Guile-SSH 0.13.1
> ============================================================================
> # TOTAL: 11
> # PASS:  0
> # SKIP:  0
> # XFAIL: 0
> # FAIL:  11
> # XPASS: 0
> # ERROR: 0
> ============================================================================
> See tests/test-suite.log
> Please report to poptsov.art...@gmail.com
> ============================================================================
> make[5]: *** [Makefile:678: test-suite.log] Error 1
> make[5]: Leaving directory '/<<PKGBUILDDIR>>/debian/build/guile-3.0/tests'
> make[4]: *** [Makefile:786: check-TESTS] Error 2
> make[4]: Leaving directory '/<<PKGBUILDDIR>>/debian/build/guile-3.0/tests'
> make[3]: *** [Makefile:852: check-am] Error 2
> make[3]: Leaving directory '/<<PKGBUILDDIR>>/debian/build/guile-3.0/tests'
> make[2]: *** [Makefile:422: check-recursive] Error 1
> make[2]: Leaving directory '/<<PKGBUILDDIR>>/debian/build/guile-3.0'
> dh_auto_test: error: cd debian/build/guile-3.0 && make -j1 check VERBOSE=1 
> returned exit code 2

The full build log is available from:
   http://qa-logs.debian.net/2021/02/13/guile-ssh_0.13.1-3_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with me
so that we can identify if something relevant changed in the meantime.

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.

--- End Message ---
--- Begin Message ---
Source: guile-ssh
Source-Version: 0.13.1-4
Done: Vagrant Cascadian <vagr...@debian.org>

We believe that the bug you reported is fixed in the latest version of
guile-ssh, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 982...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Vagrant Cascadian <vagr...@debian.org> (supplier of updated guile-ssh package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sat, 13 Feb 2021 12:58:51 -0800
Source: guile-ssh
Architecture: source
Version: 0.13.1-4
Distribution: unstable
Urgency: medium
Maintainer: Vagrant Cascadian <vagr...@debian.org>
Changed-By: Vagrant Cascadian <vagr...@debian.org>
Closes: 982728
Changes:
 guile-ssh (0.13.1-4) unstable; urgency=medium
 .
   * debian/patches: Add upstream fix to test suite for guile
     3.0.5. (Closes: #982728)
Checksums-Sha1:
 fcc6ab566c2462286d1ed483c37e4f1931d87b05 1404 guile-ssh_0.13.1-4.dsc
 df665684c5ce2dfc44481b63ba4af5386b0d7d64 7904 guile-ssh_0.13.1-4.debian.tar.xz
 ea5d0bb3c97919b1c944af802688bf1e0c472aec 6679 
guile-ssh_0.13.1-4_amd64.buildinfo
Checksums-Sha256:
 f06ac3bfa1209fb0a7d85f57ddd4b1e1eab7a17377cd47e5a28792d0a7437db6 1404 
guile-ssh_0.13.1-4.dsc
 221a8cec2b914f8f06c68dac8802f7a12bee7bad08b26ee274d0742834d55339 7904 
guile-ssh_0.13.1-4.debian.tar.xz
 2d3ba5f3478673907ec890f85bc9f4f52070b501c6ed064a7c44baac34984cd2 6679 
guile-ssh_0.13.1-4_amd64.buildinfo
Files:
 b3270e67f75914c69728394ff6233c60 1404 lisp optional guile-ssh_0.13.1-4.dsc
 8825a33a92e6c16d24ed4dec8001d6b3 7904 lisp optional 
guile-ssh_0.13.1-4.debian.tar.xz
 acb83ff2653fdf1e2709cedefbf76a5d 6679 lisp optional 
guile-ssh_0.13.1-4_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iIkEARYKADEWIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCYCg/bBMcdmFncmFudEBk
ZWJpYW4ub3JnAAoJENxRj8h/lxaqboIBAO5Bd94NU/LgzSRAFdRS2N4DwnKiAKen
EBJtJbIJa9ldAQDKJZlT/5y9f5gZhciw2RR0THC4zPKQto6P1czpqlUZBg==
=kXf8
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to