Source: guile-ssh
Version: 0.13.1-4
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: [email protected]
Usertags: ftbfs-20211023 ftbfs-bookworm
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'
> PASS: log.scm
> PASS: server.scm
> PASS: session.scm
> PASS: client-server.scm
> PASS: popen.scm
> PASS: shell.scm
> PASS: server-client.scm
> PASS: sssh-ssshd.scm
> PASS: key.scm
> PASS: tunnel.scm
> FAIL: dist.scm
> ============================================
> Guile-SSH 0.13.1: tests/test-suite.log
> ============================================
>
> # TOTAL: 11
> # PASS: 10
> # SKIP: 0
> # XFAIL: 0
> # FAIL: 1
> # XPASS: 0
> # ERROR: 0
>
> .. contents:: :depth: 2
>
> FAIL: dist
> ==========
>
> %%%% Starting test dist
> Group begin: dist
> Test begin:
> test-name: "make-node"
> source-file: "tests/dist.scm"
> source-line: 44
> source-form: (test-assert "make-node" (begin (set-log-userdata!
> "make-node") (run-client-test (lambda (server) (start-server/exec server
> (const #t))) (lambda () (call-with-connected-session/shell (lambda (session)
> (let ((n (make-node session))) (and n (eq? (node-session n) session)))))))))
> Test 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: fail
> actual-value: #f
> 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 18
> # of unexpected failures 1
> %%%% Starting test dist (Writing full log to "dist.log")
> tests/dist.scm:185: FAIL rrepl-get-result, unknown # object error
> # of expected passes 18
> # of unexpected failures 1
> FAIL dist.scm (exit status: 1)
>
> ============================================================================
> Testsuite summary for Guile-SSH 0.13.1
> ============================================================================
> # TOTAL: 11
> # PASS: 10
> # SKIP: 0
> # XFAIL: 0
> # FAIL: 1
> # XPASS: 0
> # ERROR: 0
> ============================================================================
> See tests/test-suite.log
> Please report to [email protected]
> ============================================================================
> make[5]: *** [Makefile:681: test-suite.log] Error 1
> make[5]: Leaving directory '/<<PKGBUILDDIR>>/debian/build/guile-3.0/tests'
> make[4]: *** [Makefile:789: check-TESTS] Error 2
> make[4]: Leaving directory '/<<PKGBUILDDIR>>/debian/build/guile-3.0/tests'
> make[3]: *** [Makefile:854: 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/10/23/guile-ssh_0.13.1-4_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 mine
so that we can identify if something relevant changed in the meantime.