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.