Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- =================================
- GNU Guix : ./test-suite.log
- =================================
- # TOTAL: 708
- # PASS: 674
- # SKIP: 32
- # XFAIL: 0
- # FAIL: 2
- # XPASS: 0
- # ERROR: 0
- .. contents:: :depth: 2
- SKIP: tests/base32
- ==================
- sh: nix-hash: command not found
- test-name: bytevector->base32-string
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/base32.scm:48
- source:
- + (test-assert
- + "bytevector->base32-string"
- + (fold (lambda (bv expected result)
- + (and result
- + (string=?
- + (bytevector->base32-string bv)
- + expected)))
- + #t
- + (map string->utf8
- + '("" "f" "fo" "foo" "foob" "fooba" "foobar"))
- + '(""
- + "my"
- + "mzxq"
- + "mzxw6"
- + "mzxw6yq"
- + "mzxw6ytb"
- + "mzxw6ytboi")))
- actual-value: #t
- result: PASS
- test-name: base32-string->bytevector
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/base32.scm:65
- source:
- + (test-assert
- + "base32-string->bytevector"
- + (every (lambda (bv)
- + (equal?
- + (base32-string->bytevector
- + (bytevector->base32-string bv))
- + bv))
- + (map string->utf8
- + '("" "f" "fo" "foo" "foob" "fooba" "foobar"))))
- actual-value: #t
- result: PASS
- test-name: nix-base32-string->bytevector
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/base32.scm:73
- source:
- + (test-assert
- + "nix-base32-string->bytevector"
- + (every (lambda (bv)
- + (equal?
- + (nix-base32-string->bytevector
- + (bytevector->nix-base32-string bv))
- + bv))
- + (map string->utf8
- + '("" "f" "fo" "foo" "foob" "fooba" "foobar"))))
- actual-value: #t
- result: PASS
- test-name: &invalid-base32-character
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/base32.scm:81
- source:
- + (test-equal
- + "&invalid-base32-character"
- + #\e
- + (guard (c ((invalid-base32-character? c)
- + (invalid-base32-character-value c)))
- + (nix-base32-string->bytevector
- + (string-append (make-string 51 #\a) "e"))))
- expected-value: #\e
- actual-value: #\e
- result: PASS
- test-name: sha256 & bytevector->nix-base32-string
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/base32.scm:92
- source:
- + (test-assert
- + "sha256 & bytevector->nix-base32-string"
- + (let ((file (search-path %load-path "tests/test.drv")))
- + (equal?
- + (bytevector->nix-base32-string
- + (sha256
- + (call-with-input-file file get-bytevector-all)))
- + (let* ((c (format
- + #f
- + "~a --type sha256 --base32 --flat \"~a\""
- + %nix-hash
- + file))
- + (p (open-input-pipe c))
- + (l (read-line p)))
- + (close-pipe p)
- + l))))
- result: SKIP
- SKIP: tests/cpio
- ================
- random seed for tests: 1495493959
- test-name: file->cpio-header + write-cpio-header + read-cpio-header
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/cpio.scm:37
- source:
- + (test-assert
- + "file->cpio-header + write-cpio-header + read-cpio-header"
- + (let* ((file (search-path %load-path "guix.scm"))
- + (header (file->cpio-header file)))
- + (call-with-values
- + (lambda () (open-bytevector-output-port))
- + (lambda (port get-bv)
- + (write-cpio-header header port)
- + (let ((port (open-bytevector-input-port (get-bv))))
- + (equal? header (read-cpio-header port)))))))
- actual-value: #t
- result: PASS
- test-name: bit-identical to GNU cpio's output
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/cpio.scm:49
- source:
- + (test-assert
- + "bit-identical to GNU cpio's output"
- + (call-with-temporary-output-file
- + (lambda (link _)
- + (delete-file link)
- + (symlink "chbouib" link)
- + (let ((files (cons* "/"
- + (canonicalize-path
- + (dirname (search-path %load-path "guix.scm")))
- + link
- + (map (compose
- + canonicalize-path
- + (cut search-path %load-path <>))
- + '("guix.scm"
- + "guix/build/syscalls.scm"
- + "guix/packages.scm")))))
- + (call-with-temporary-output-file
- + (lambda (ref-file _)
- + (let ((pipe (open-pipe*
- + OPEN_WRITE
- + %cpio-program
- + "-o"
- + "-O"
- + ref-file
- + "-H"
- + "newc"
- + "--null")))
- + (for-each
- + (lambda (file) (format pipe "~a\x00" file))
- + files)
- + (and (zero? (close-pipe pipe))
- + (call-with-temporary-output-file
- + (lambda (file port)
- + (write-cpio-archive files port)
- + (close-port port)
- + (or (file=? ref-file file)
- + (throw 'cpio-archives-differ
- + files
- + ref-file
- + file
- + (stat:size (stat ref-file))
- + (stat:size (stat file))))))))))))))
- result: SKIP
- SKIP: tests/builders
- ====================
- random seed for tests: 1495493745
- test-name: url-fetch
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/builders.scm:66
- source:
- + (test-assert
- + "url-fetch"
- + (let* ((url '("http://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz"
- + "ftp://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz"))
- + (hash (nix-base32-string->bytevector
- + "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"))
- + (drv (url-fetch*
- + %store
- + url
- + 'sha256
- + hash
- + #:guile
- + %bootstrap-guile))
- + (out-path (derivation->output-path drv)))
- + (and (build-derivations %store (list drv))
- + (file-exists? out-path)
- + (valid-path? %store out-path))))
- result: SKIP
- test-name: url-fetch, file
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/builders.scm:78
- source:
- + (test-assert
- + "url-fetch, file"
- + (let* ((file (search-path %load-path "guix.scm"))
- + (hash (call-with-input-file file port-sha256))
- + (out (url-fetch* %store file 'sha256 hash)))
- + (and (file-exists? out) (valid-path? %store out))))
- actual-value: #t
- result: PASS
- test-name: url-fetch, file URI
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/builders.scm:85
- source:
- + (test-assert
- + "url-fetch, file URI"
- + (let* ((file (search-path %load-path "guix.scm"))
- + (hash (call-with-input-file file port-sha256))
- + (out (url-fetch*
- + %store
- + (string-append
- + "file://"
- + (canonicalize-path file))
- + 'sha256
- + hash)))
- + (and (file-exists? out) (valid-path? %store out))))
- actual-value: #t
- result: PASS
- test-name: gnu-build-system
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/builders.scm:94
- source:
- + (test-assert
- + "gnu-build-system"
- + (build-system? gnu-build-system))
- actual-value: #t
- result: PASS
- test-name: gnu-build
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/builders.scm:99
- source:
- + (test-assert
- + "gnu-build"
- + (let* ((url "http://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz")
- + (hash (nix-base32-string->bytevector
- + "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"))
- + (tarball
- + (url-fetch*
- + %store
- + url
- + 'sha256
- + hash
- + #:guile
- + %bootstrap-guile))
- + (build (gnu-build
- + %store
- + "hello-2.8"
- + `(("source" ,tarball) ,@%bootstrap-inputs)
- + #:guile
- + %bootstrap-guile
- + #:search-paths
- + %bootstrap-search-paths))
- + (out (derivation->output-path build)))
- + (and (build-derivations
- + %store
- + (list (pk 'hello-drv build)))
- + (valid-path? %store out)
- + (file-exists? (string-append out "/bin/hello")))))
- result: SKIP
- SKIP: tests/derivations
- =======================
- random seed for tests: 1495493721
- @ build-started /tmp/guix-tests/store/vcj9833sk577wd7qxzvmgqcfbf9b4sjz-foo.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/vc//j9833sk577wd7qxzvmgqcfbf9b4sjz-foo.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/vcj9833sk577wd7qxzvmgqcfbf9b4sjz-foo.drv -
- test-name: parse & export
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:87
- source:
- + (test-assert
- + "parse & export"
- + (let* ((f (search-path %load-path "tests/test.drv"))
- + (b1 (call-with-input-file f get-bytevector-all))
- + (d1 (read-derivation (open-bytevector-input-port b1)))
- + (b2 (call-with-bytevector-output-port
- + (cut write-derivation d1 <>)))
- + (d2 (read-derivation (open-bytevector-input-port b2))))
- + (and (equal? b1 b2) (equal? d1 d2))))
- actual-value: #t
- result: PASS
- test-name: add-to-store, flat
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:98
- source:
- + (test-assert
- + "add-to-store, flat"
- + (let* ((file (search-path
- + %load-path
- + "language/tree-il/spec.scm"))
- + (drv (add-to-store
- + %store
- + "flat-test"
- + #f
- + "sha256"
- + file)))
- + (and (eq? 'regular (stat:type (stat drv)))
- + (valid-path? %store drv)
- + (equal?
- + (call-with-input-file file get-bytevector-all)
- + (call-with-input-file drv get-bytevector-all)))))
- actual-value: #t
- result: PASS
- test-name: add-to-store, recursive
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:106
- source:
- + (test-assert
- + "add-to-store, recursive"
- + (let* ((dir (dirname
- + (search-path
- + %load-path
- + "language/tree-il/spec.scm")))
- + (drv (add-to-store
- + %store
- + "dir-tree-test"
- + #t
- + "sha256"
- + dir)))
- + (and (eq? 'directory (stat:type (stat drv)))
- + (valid-path? %store drv)
- + (equal?
- + (directory-contents dir)
- + (directory-contents drv)))))
- actual-value: #t
- result: PASS
- test-name: derivation with no inputs
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:114
- source:
- + (test-assert
- + "derivation with no inputs"
- + (let* ((builder
- + (add-text-to-store
- + %store
- + "my-builder.sh"
- + "echo hello, world\n"
- + '()))
- + (drv (derivation
- + %store
- + "foo"
- + %bash
- + `("-e" ,builder)
- + #:env-vars
- + '(("HOME" . "/homeless")))))
- + (and (store-path? (derivation-file-name drv))
- + (valid-path? %store (derivation-file-name drv)))))
- actual-value: #t
- result: PASS
- test-name: build derivation with 1 source
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:124
- source:
- + (test-assert
- + "build derivation with 1 source"
- + (let* ((builder
- + (add-text-to-store
- + %store
- + "my-builder.sh"
- + "echo hello, world > \"$out\"\n"
- + '()))
- + (drv (derivation
- + %store
- + "foo"
- + %bash
- + `(,builder)
- + #:env-vars
- + '(("HOME" . "/homeless")
- + ("zzz" . "Z!")
- + ("AAA" . "A!"))
- + #:inputs
- + `((,%bash) (,builder))))
- + (succeeded?
- + (build-derivations %store (list drv))))
- + (and succeeded?
- + (let ((path (derivation->output-path drv)))
- + (and (valid-path? %store path)
- + (string=?
- + (call-with-input-file path read-line)
- + "hello, world"))))))
- actual-value: #t
- result: PASS
- test-name: derivation with local file as input
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:142
- source:
- + (test-assert
- + "derivation with local file as input"
- + (let* ((builder
- + (add-text-to-store
- + %store
- + "my-builder.sh"
- + "(while read line ; do echo \"$line\" ; done) < $in > $out"
- + '()))
- + (input @ build-started /tmp/guix-tests/store/fjv236z7l209d8zz9z8jxmnw3dfi8lam-derivation-with-input-file.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/fj//v236z7l209d8zz9z8jxmnw3dfi8lam-derivation-with-input-file.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/fjv236z7l209d8zz9z8jxmnw3dfi8lam-derivation-with-input-file.drv -
- @ build-started /tmp/guix-tests/store/p81vnkbra9z5w45hg0hni5l3yf596ja2-fails.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/p8//1vnkbra9z5w45hg0hni5l3yf596ja2-fails.drv.bz2
- builder for `/tmp/guix-tests/store/p81vnkbra9z5w45hg0hni5l3yf596ja2-fails.drv' failed with exit code 1
- @ build-failed /tmp/guix-tests/store/p81vnkbra9z5w45hg0hni5l3yf596ja2-fails.drv - 1 builder for `/tmp/guix-tests/store/p81vnkbra9z5w45hg0hni5l3yf596ja2-fails.drv' failed with exit code 1
- @ build-started /tmp/guix-tests/store/kn0gx5na8k2nilq6c362bmavywnilkhq-guile-bootstrap-2.0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/kn//0gx5na8k2nilq6c362bmavywnilkhq-guile-bootstrap-2.0.drv.bz2
- unpacking bootstrap Guile to '/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0'...
- ./
- ./share/
- ./share/guile/
- ./share/guile/2.0/
- ./share/guile/2.0/system/
- ./share/guile/2.0/system/xref.scm
- ./share/guile/2.0/system/foreign.scm
- ./share/guile/2.0/system/repl/
- ./share/guile/2.0/system/repl/error-handling.scm
- ./share/guile/2.0/system/repl/debug.scm
- ./share/guile/2.0/system/repl/describe.scm
- ./share/guile/2.0/system/repl/common.scm
- ./share/guile/2.0/system/repl/command.scm
- ./share/guile/2.0/system/repl/server.scm
- ./share/guile/2.0/system/repl/repl.scm
- ./share/guile/2.0/system/base/
- ./share/guile/2.0/system/base/lalr.upstream.scm
- ./share/guile/2.0/system/base/pmatch.scm
- ./share/guile/2.0/system/base/lalr.scm
- ./share/guile/2.0/system/base/language.scm
- ./share/guile/2.0/system/base/syntax.scm
- ./share/guile/2.0/system/base/compile.scm
- ./share/guile/2.0/system/base/ck.scm
- ./share/guile/2.0/system/base/message.scm
- ./share/guile/2.0/system/base/target.scm
- ./share/guile/2.0/system/vm/
- ./share/guile/2.0/system/vm/trace.scm
- ./share/guile/2.0/system/vm/trap-state.scm
- ./share/guile/2.0/system/vm/vm.scm
- ./share/guile/2.0/system/vm/coverage.scm
- ./share/guile/2.0/system/vm/program.scm
- ./share/guile/2.0/system/vm/objcode.scm
- ./share/guile/2.0/system/vm/traps.scm
- ./share/guile/2.0/system/vm/inspect.scm
- ./share/guile/2.0/system/vm/instruction.scm
- ./share/guile/2.0/system/vm/frame.scm
- ./share/guile/2.0/scripts/
- ./share/guile/2.0/scripts/scan-api.scm
- ./share/guile/2.0/scripts/autofrisk.scm
- ./share/guile/2.0/scripts/snarf-check-and-output-texi.scm
- ./share/guile/2.0/scripts/read-rfc822.scm
- ./share/guile/2.0/scripts/read-text-outline.scm
- ./share/guile/2.0/scripts/help.scm
- ./share/guile/2.0/scripts/frisk.scm
- ./share/guile/2.0/scripts/punify.scm
- ./share/guile/2.0/scripts/lint.scm
- ./share/guile/2.0/scripts/disassemble.scm
- ./share/guile/2.0/scripts/summarize-guile-TODO.scm
- ./share/guile/2.0/scripts/generate-autoload.scm
- ./share/guile/2.0/scripts/display-commentary.scm
- ./share/guile/2.0/scripts/compile.scm
- ./share/guile/2.0/scripts/api-diff.scm
- ./share/guile/2.0/scripts/use2dot.scm
- ./share/guile/2.0/scripts/doc-snarf.scm
- ./share/guile/2.0/scripts/read-scheme-source.scm
- ./share/guile/2.0/scripts/snarf-guile-m4-docs.scm
- ./share/guile/2.0/scripts/list.scm
- ./share/guile/2.0/texinfo/
- ./share/guile/2.0/texinfo/indexing.scm
- ./share/guile/2.0/texinfo/html.scm
- ./share/guile/2.0/texinfo/docbook.scm
- ./share/guile/2.0/texinfo/serialize.scm
- ./share/guile/2.0/texinfo/reflection.scm
- ./share/guile/2.0/texinfo/plain-text.scm
- ./share/guile/2.0/texinfo/string-utils.scm
- ./share/guile/2.0/ice-9/
- ./share/guile/2.0/ice-9/documentation.scm
- ./share/guile/2.0/ice-9/scm-style-repl.scm
- ./share/guile/2.0/ice-9/time.scm
- ./share/guile/2.0/ice-9/format.scm
- ./share/guile/2.0/ice-9/networking.scm
- ./share/guile/2.0/ice-9/getopt-long.scm
- ./share/guile/2.0/ice-9/vlist.scm
- ./share/guile/2.0/ice-9/psyntax.scm
- ./share/guile/2.0/ice-9/gap-buffer.scm
- ./share/guile/2.0/ice-9/and-let-star.scm
- ./share/guile/2.0/ice-9/posix.scm
- ./share/guile/2.0/ice-9/ls.scm
- ./share/guile/2.0/ice-9/syncase.scm
- ./share/guile/2.0/ice-9/save-stack.scm
- ./share/guile/2.0/ice-9/stack-catch.scm
- ./share/guile/2.0/ice-9/futures.scm
- ./share/guile/2.0/ice-9/debug.scm
- ./share/guile/2.0/ice-9/pretty-print.scm
- ./share/guile/2.0/ice-9/mapping.scm
- ./share/guile/2.0/ice-9/occam-channel.scm
- ./share/guile/2.0/ice-9/top-repl.scm
- ./share/guile/2.0/ice-9/boot-9.scm
- ./share/guile/2.0/ice-9/string-fun.scm
- ./share/guile/2.0/ice-9/i18n.scm
- ./share/guile/2.0/ice-9/match.upstream.scm
- ./share/guile/2.0/ice-9/streams.scm
- ./share/guile/2.0/ice-9/lineio.scm
- ./share/guile/2.0/ice-9/threads.scm
- ./share/guile/2.0/ice-9/weak-vector.scm
- ./share/guile/2.0/ice-9/history.scm
- ./share/guile/2.0/ice-9/expect.scm
- ./share/guile/2.0/ice-9/poll.scm
- ./share/guile/2.0/ice-9/popen.scm
- ./share/guile/2.0/ice-9/control.scm
- ./share/guile/2.0/ice-9/session.scm
- ./share/guile/2.0/ice-9/ftw.scm
- ./share/guile/2.0/ice-9/local-eval.scm
- ./share/guile/2.0/ice-9/receive.scm
- ./share/guile/2.0/ice-9/safe-r5rs.scm
- ./share/guile/2.0/ice-9/calling.scm
- ./share/guile/2.0/ice-9/curried-definitions.scm
- ./share/guile/2.0/ice-9/eval-string.scm
- ./share/guile/2.0/ice-9/q.scm
- ./share/guile/2.0/ice-9/serialize.scm
- ./share/guile/2.0/ice-9/quasisyntax.scm
- ./share/guile/2.0/ice-9/slib.scm
- ./share/guile/2.0/ice-9/hcons.scm
- ./share/guile/2.0/ice-9/rw.scm
- ./share/guile/2.0/ice-9/regex.scm
- ./share/guile/2.0/ice-9/match.scm
- ./share/guile/2.0/ice-9/buffered-input.scm
- ./share/guile/2.0/ice-9/iconv.scm
- ./share/guile/2.0/ice-9/poe.scm
- ./share/guile/2.0/ice-9/common-list.scm
- ./share/guile/2.0/ice-9/r5rs.scm
- ./share/guile/2.0/ice-9/command-line.scm
- ./share/guile/2.0/ice-9/deprecated.scm
- ./share/guile/2.0/ice-9/psyntax-pp.scm
- ./share/guile/2.0/ice-9/null.scm
- ./share/guile/2.0/ice-9/optargs.scm
- ./share/guile/2.0/ice-9/rdelim.scm
- ./share/guile/2.0/ice-9/runq.scm
- ./share/guile/2.0/ice-9/safe.scm
- ./share/guile/2.0/ice-9/channel.scm
- ./share/guile/2.0/ice-9/readline.scm
- ./share/guile/2.0/ice-9/binary-ports.scm
- ./share/guile/2.0/ice-9/eval.scm
- ./share/guile/2.0/ice-9/r4rs.scm
- ./share/guile/2.0/ice-9/r6rs-libraries.scm
- ./share/guile/2.0/ice-9/list.scm
- ./share/guile/2.0/language/
- ./share/guile/2.0/language/elisp/
- ./share/guile/2.0/language/elisp/compile-tree-il.scm
- ./share/guile/2.0/language/elisp/bindings.scm
- ./share/guile/2.0/language/elisp/runtime.scm
- ./share/guile/2.0/language/elisp/lexer.scm
- ./share/guile/2.0/language/elisp/spec.scm
- ./share/guile/2.0/language/elisp/runtime/
- ./share/guile/2.0/language/elisp/runtime/macros.scm
- ./share/guile/2.0/language/elisp/runtime/function-slot.scm
- ./share/guile/2.0/language/elisp/runtime/subrs.scm
- ./share/guile/2.0/language/elisp/runtime/value-slot.scm
- ./share/guile/2.0/language/elisp/parser.scm
- ./share/guile/2.0/language/assembly/
- ./share/guile/2.0/language/assembly/compile-bytecode.scm
- ./share/guile/2.0/language/assembly/disassemble.scm
- ./share/guile/2.0/language/assembly/spec.scm
- ./share/guile/2.0/language/assembly/decompile-bytecode.scm
- ./share/guile/2.0/language/scheme/
- ./share/guile/2.0/language/scheme/compile-tree-il.scm
- ./share/guile/2.0/language/scheme/decompile-tree-il.scm
- ./share/guile/2.0/language/scheme/spec.scm
- ./share/guile/2.0/language/brainfuck/
- ./share/guile/2.0/language/brainfuck/compile-tree-il.scm
- ./share/guile/2.0/language/brainfuck/compile-scheme.scm
- ./share/guile/2.0/language/brainfuck/spec.scm
- ./share/guile/2.0/language/brainfuck/parse.scm
- ./share/guile/2.0/language/objcode/
- ./share/guile/2.0/language/objcode/spec.scm
- ./share/guile/2.0/language/assembly.scm
- ./share/guile/2.0/language/bytecode/
- ./share/guile/2.0/language/bytecode/spec.scm
- ./share/guile/2.0/language/glil/
- ./share/guile/2.0/language/glil/spec.scm
- ./share/guile/2.0/language/glil/compile-assembly.scm
- ./share/guile/2.0/language/tree-il/
- ./share/guile/2.0/language/tree-il/analyze.scm
- ./share/guile/2.0/language/tree-il/inline.scm
- ./share/guile/2.0/language/tree-il/debug.scm
- ./share/guile/2.0/language/tree-il/primitives.scm
- ./share/guile/2.0/language/tree-il/optimize.scm
- ./share/guile/2.0/language/tree-il/fix-letrec.scm
- ./share/guile/2.0/language/tree-il/spec.scm
- ./share/guile/2.0/language/tree-il/peval.scm
- ./share/guile/2.0/language/tree-il/compile-glil.scm
- ./share/guile/2.0/language/tree-il/cse.scm
- ./share/guile/2.0/language/tree-il/canonicalize.scm
- ./share/guile/2.0/language/tree-il/effects.scm
- ./share/guile/2.0/language/ecmascript/
- ./share/guile/2.0/language/ecmascript/base.scm
- ./share/guile/2.0/language/ecmascript/compile-tree-il.scm
- ./share/guile/2.0/language/ecmascript/function.scm
- ./share/guile/2.0/language/ecmascript/array.scm
- ./share/guile/2.0/language/ecmascript/tokenize.scm
- ./share/guile/2.0/language/ecmascript/spec.scm
- ./share/guile/2.0/language/ecmascript/impl.scm
- ./share/guile/2.0/language/ecmascript/parse.scm
- ./share/guile/2.0/language/value/
- ./share/guile/2.0/language/value/spec.scm
- ./share/guile/2.0/language/glil.scm
- ./share/guile/2.0/language/tree-il.scm
- ./share/guile/2.0/rnrs.scm
- ./share/guile/2.0/statprof.scm
- ./share/guile/2.0/web/
- ./share/guile/2.0/web/client.scm
- ./share/guile/2.0/web/response.scm
- ./share/guile/2.0/web/uri.scm
- ./share/guile/2.0/web/server/
- ./share/guile/2.0/web/server/http.scm
- ./share/guile/2.0/web/request.scm
- ./share/guile/2.0/web/server.scm
- ./share/guile/2.0/web/http.scm
- ./share/guile/2.0/oop/
- ./share/guile/2.0/oop/goops.scm
- ./share/guile/2.0/oop/goops/
- ./share/guile/2.0/oop/goops/save.scm
- ./share/guile/2.0/oop/goops/stklos.scm
- ./share/guile/2.0/oop/goops/accessors.scm
- ./share/guile/2.0/oop/goops/describe.scm
- ./share/guile/2.0/oop/goops/dispatch.scm
- ./share/guile/2.0/oop/goops/active-slot.scm
- ./share/guile/2.0/oop/goops/composite-slot.scm
- ./share/guile/2.0/oop/goops/compile.scm
- ./share/guile/2.0/oop/goops/internal.scm
- ./share/guile/2.0/oop/goops/util.scm
- ./share/guile/2.0/oop/goops/simple.scm
- ./share/guile/2.0/guile-procedures.txt
- ./share/guile/2.0/texinfo.scm
- ./share/guile/2.0/rnrs/
- ./share/guile/2.0/rnrs/base.scm
- ./share/guile/2.0/rnrs/records/
- ./share/guile/2.0/rnrs/records/syntactic.scm
- ./share/guile/2.0/rnrs/records/inspection.scm
- ./share/guile/2.0/rnrs/records/procedural.scm
- ./share/guile/2.0/rnrs/arithmetic/
- ./share/guile/2.0/rnrs/arithmetic/bitwise.scm
- ./share/guile/2.0/rnrs/arithmetic/fixnums.scm
- ./share/guile/2.0/rnrs/arithmetic/flonums.scm
- ./share/guile/2.0/rnrs/unicode.scm
- ./share/guile/2.0/rnrs/enums.scm
- ./share/guile/2.0/rnrs/hashtables.scm
- ./share/guile/2.0/rnrs/control.scm
- ./share/guile/2.0/rnrs/syntax-case.scm
- ./share/guile/2.0/rnrs/sorting.scm
- ./share/guile/2.0/rnrs/lists.scm
- ./share/guile/2.0/rnrs/mutable-strings.scm
- ./share/guile/2.0/rnrs/conditions.scm
- ./share/guile/2.0/rnrs/r5rs.scm
- ./share/guile/2.0/rnrs/mutable-pairs.scm
- ./share/guile/2.0/rnrs/programs.scm
- ./share/guile/2.0/rnrs/exceptions.scm
- ./share/guile/2.0/rnrs/eval.scm
- ./share/guile/2.0/rnrs/files.scm
- ./share/guile/2.0/rnrs/io/
- ./share/guile/2.0/rnrs/io/ports.scm
- ./share/guile/2.0/rnrs/io/simple.scm
- ./share/guile/2.0/rnrs/bytevectors.scm
- ./share/guile/2.0/sxml/
- ./share/guile/2.0/sxml/sxml-match.ss
- ./share/guile/2.0/sxml/fold.scm
- ./share/guile/2.0/sxml/ssax.scm
- ./share/guile/2.0/sxml/apply-templates.scm
- ./share/guile/2.0/sxml/xpath.scm
- ./share/guile/2.0/sxml/upstream/
- ./share/guile/2.0/sxml/upstream/SSAX.scm
- ./share/guile/2.0/sxml/upstream/assert.scm
- ./share/guile/2.0/sxml/upstream/SXPath-old.scm
- ./share/guile/2.0/sxml/upstream/input-parse.scm
- ./share/guile/2.0/sxml/upstream/SXML-tree-trans.scm
- ./share/guile/2.0/sxml/transform.scm
- ./share/guile/2.0/sxml/match.scm
- ./share/guile/2.0/sxml/simple.scm
- ./share/guile/2.0/sxml/ssax/
- ./share/guile/2.0/sxml/ssax/input-parse.scm
- ./share/guile/2.0/srfi/
- ./share/guile/2.0/srfi/srfi-88.scm
- ./share/guile/2.0/srfi/srfi-14.scm
- ./share/guile/2.0/srfi/srfi-6.scm
- ./share/guile/2.0/srfi/srfi-67.scm
- ./share/guile/2.0/srfi/srfi-42/
- ./share/guile/2.0/srfi/srfi-42/ec.scm
- ./share/guile/2.0/srfi/srfi-19.scm
- ./share/guile/2.0/srfi/srfi-31.scm
- ./share/guile/2.0/srfi/srfi-41.scm
- ./share/guile/2.0/srfi/srfi-35.scm
- ./share/guile/2.0/srfi/srfi-34.scm
- ./share/guile/2.0/srfi/srfi-60.scm
- ./share/guile/2.0/srfi/srfi-18.scm
- ./share/guile/2.0/srfi/srfi-37.scm
- ./share/guile/2.0/srfi/srfi-4/
- ./share/guile/2.0/srfi/srfi-4/gnu.scm
- ./share/guile/2.0/srfi/srfi-16.scm
- ./share/guile/2.0/srfi/srfi-69.scm
- ./share/guile/2.0/srfi/srfi-17.scm
- ./share/guile/2.0/srfi/srfi-2.scm
- ./share/guile/2.0/srfi/srfi-27.scm
- ./share/guile/2.0/srfi/srfi-26.scm
- ./share/guile/2.0/srfi/srfi-8.scm
- ./share/guile/2.0/srfi/srfi-4.scm
- ./share/guile/2.0/srfi/srfi-11.scm
- ./share/guile/2.0/srfi/srfi-13.scm
- ./share/guile/2.0/srfi/srfi-67/
- ./share/guile/2.0/srfi/srfi-67/compare.scm
- ./share/guile/2.0/srfi/srfi-45.scm
- ./share/guile/2.0/srfi/srfi-9.scm
- ./share/guile/2.0/srfi/srfi-9/
- ./share/guile/2.0/srfi/srfi-9/gnu.scm
- ./share/guile/2.0/srfi/srfi-10.scm
- ./share/guile/2.0/srfi/srfi-42.scm
- ./share/guile/2.0/srfi/srfi-39.scm
- ./share/guile/2.0/srfi/srfi-1.scm
- ./share/guile/2.0/srfi/srfi-38.scm
- ./share/guile/2.0/srfi/srfi-98.scm
- ./lib/
- ./lib/guile/
- ./lib/guile/2.0/
- ./lib/guile/2.0/ccache/
- ./lib/guile/2.0/ccache/system/
- ./lib/guile/2.0/ccache/system/foreign.go
- ./lib/guile/2.0/ccache/system/repl/
- ./lib/guile/2.0/ccache/system/repl/command.go
- ./lib/guile/2.0/ccache/system/repl/error-handling.go
- ./lib/guile/2.0/ccache/system/repl/repl.go
- ./lib/guile/2.0/ccache/system/repl/debug.go
- ./lib/guile/2.0/ccache/system/repl/server.go
- ./lib/guile/2.0/ccache/system/repl/common.go
- ./lib/guile/2.0/ccache/system/xref.go
- ./lib/guile/2.0/ccache/system/base/
- ./lib/guile/2.0/ccache/system/base/ck.go
- ./lib/guile/2.0/ccache/system/base/lalr.go
- ./lib/guile/2.0/ccache/system/base/pmatch.go
- ./lib/guile/2.0/ccache/system/base/message.go
- ./lib/guile/2.0/ccache/system/base/syntax.go
- ./lib/guile/2.0/ccache/system/base/language.go
- ./lib/guile/2.0/ccache/system/base/target.go
- ./lib/guile/2.0/ccache/system/base/compile.go
- ./lib/guile/2.0/ccache/system/vm/
- ./lib/guile/2.0/ccache/system/vm/traps.go
- ./lib/guile/2.0/ccache/system/vm/frame.go
- ./lib/guile/2.0/ccache/system/vm/objcode.go
- ./lib/guile/2.0/ccache/system/vm/program.go
- ./lib/guile/2.0/ccache/system/vm/instruction.go
- ./lib/guile/2.0/ccache/system/vm/coverage.go
- ./lib/guile/2.0/ccache/system/vm/vm.go
- ./lib/guile/2.0/ccache/system/vm/trap-state.go
- ./lib/guile/2.0/ccache/system/vm/inspect.go
- ./lib/guile/2.0/ccache/system/vm/trace.go
- ./lib/guile/2.0/ccache/scripts/
- ./lib/guile/2.0/ccache/scripts/scan-api.go
- ./lib/guile/2.0/ccache/scripts/use2dot.go
- ./lib/guile/2.0/ccache/scripts/autofrisk.go
- ./lib/guile/2.0/ccache/scripts/api-diff.go
- ./lib/guile/2.0/ccache/scripts/read-text-outline.go
- ./lib/guile/2.0/ccache/scripts/punify.go
- ./lib/guile/2.0/ccache/scripts/snarf-guile-m4-docs.go
- ./lib/guile/2.0/ccache/scripts/read-scheme-source.go
- ./lib/guile/2.0/ccache/scripts/frisk.go
- ./lib/guile/2.0/ccache/scripts/summarize-guile-TODO.go
- ./lib/guile/2.0/ccache/scripts/lint.go
- ./lib/guile/2.0/ccache/scripts/display-commentary.go
- ./lib/guile/2.0/ccache/scripts/disassemble.go
- ./lib/guile/2.0/ccache/scripts/generate-autoload.go
- ./lib/guile/2.0/ccache/scripts/snarf-check-and-output-texi.go
- ./lib/guile/2.0/ccache/scripts/read-rfc822.go
- ./lib/guile/2.0/ccache/scripts/doc-snarf.go
- ./lib/guile/2.0/ccache/scripts/compile.go
- ./lib/guile/2.0/ccache/scripts/help.go
- ./lib/guile/2.0/ccache/scripts/list.go
- ./lib/guile/2.0/ccache/texinfo/
- ./lib/guile/2.0/ccache/texinfo/docbook.go
- ./lib/guile/2.0/ccache/texinfo/serialize.go
- ./lib/guile/2.0/ccache/texinfo/html.go
- ./lib/guile/2.0/ccache/texinfo/reflection.go
- ./lib/guile/2.0/ccache/texinfo/indexing.go
- ./lib/guile/2.0/ccache/texinfo/plain-text.go
- ./lib/guile/2.0/ccache/texinfo/string-utils.go
- ./lib/guile/2.0/ccache/ice-9/
- ./lib/guile/2.0/ccache/ice-9/r4rs.go
- ./lib/guile/2.0/ccache/ice-9/poll.go
- ./lib/guile/2.0/ccache/ice-9/syncase.go
- ./lib/guile/2.0/ccache/ice-9/common-list.go
- ./lib/guile/2.0/ccache/ice-9/stack-catch.go
- ./lib/guile/2.0/ccache/ice-9/control.go
- ./lib/guile/2.0/ccache/ice-9/binary-ports.go
- ./lib/guile/2.0/ccache/ice-9/regex.go
- ./lib/guile/2.0/ccache/ice-9/safe.go
- ./lib/guile/2.0/ccache/ice-9/buffered-input.go
- ./lib/guile/2.0/ccache/ice-9/boot-9.go
- ./lib/guile/2.0/ccache/ice-9/and-let-star.go
- ./lib/guile/2.0/ccache/ice-9/expect.go
- ./lib/guile/2.0/ccache/ice-9/gap-buffer.go
- ./lib/guile/2.0/ccache/ice-9/pretty-print.go
- ./lib/guile/2.0/ccache/ice-9/time.go
- ./lib/guile/2.0/ccache/ice-9/serialize.go
- ./lib/guile/2.0/ccache/ice-9/debug.go
- ./lib/guile/2.0/ccache/ice-9/rw.go
- ./lib/guile/2.0/ccache/ice-9/command-line.go
- ./lib/guile/2.0/ccache/ice-9/networking.go
- ./lib/guile/2.0/ccache/ice-9/posix.go
- ./lib/guile/2.0/ccache/ice-9/psyntax-pp.go
- ./lib/guile/2.0/ccache/ice-9/format.go
- ./lib/guile/2.0/ccache/ice-9/optargs.go
- ./lib/guile/2.0/ccache/ice-9/history.go
- ./lib/guile/2.0/ccache/ice-9/vlist.go
- ./lib/guile/2.0/ccache/ice-9/threads.go
- ./lib/guile/2.0/ccache/ice-9/safe-r5rs.go
- ./lib/guile/2.0/ccache/ice-9/streams.go
- ./lib/guile/2.0/ccache/ice-9/readline.go
- ./lib/guile/2.0/ccache/ice-9/slib.go
- ./lib/guile/2.0/ccache/ice-9/scm-style-repl.go
- ./lib/guile/2.0/ccache/ice-9/session.go
- ./lib/guile/2.0/ccache/ice-9/top-repl.go
- ./lib/guile/2.0/ccache/ice-9/channel.go
- ./lib/guile/2.0/ccache/ice-9/q.go
- ./lib/guile/2.0/ccache/ice-9/string-fun.go
- ./lib/guile/2.0/ccache/ice-9/r5rs.go
- ./lib/guile/2.0/ccache/ice-9/calling.go
- ./lib/guile/2.0/ccache/ice-9/futures.go
- ./lib/guile/2.0/ccache/ice-9/null.go
- ./lib/guile/2.0/ccache/ice-9/occam-channel.go
- ./lib/guile/2.0/ccache/ice-9/eval.go
- ./lib/guile/2.0/ccache/ice-9/receive.go
- ./lib/guile/2.0/ccache/ice-9/ftw.go
- ./lib/guile/2.0/ccache/ice-9/runq.go
- ./lib/guile/2.0/ccache/ice-9/rdelim.go
- ./lib/guile/2.0/ccache/ice-9/save-stack.go
- ./lib/guile/2.0/ccache/ice-9/local-eval.go
- ./lib/guile/2.0/ccache/ice-9/getopt-long.go
- ./lib/guile/2.0/ccache/ice-9/ls.go
- ./lib/guile/2.0/ccache/ice-9/lineio.go
- ./lib/guile/2.0/ccache/ice-9/i18n.go
- ./lib/guile/2.0/ccache/ice-9/deprecated.go
- ./lib/guile/2.0/ccache/ice-9/hcons.go
- ./lib/guile/2.0/ccache/ice-9/popen.go
- ./lib/guile/2.0/ccache/ice-9/curried-definitions.go
- ./lib/guile/2.0/ccache/ice-9/eval-string.go
- ./lib/guile/2.0/ccache/ice-9/match.go
- ./lib/guile/2.0/ccache/ice-9/weak-vector.go
- ./lib/guile/2.0/ccache/ice-9/poe.go
- ./lib/guile/2.0/ccache/ice-9/mapping.go
- ./lib/guile/2.0/ccache/ice-9/list.go
- ./lib/guile/2.0/ccache/ice-9/documentation.go
- ./lib/guile/2.0/ccache/ice-9/iconv.go
- ./lib/guile/2.0/ccache/language/
- ./lib/guile/2.0/ccache/language/assembly.go
- ./lib/guile/2.0/ccache/language/elisp/
- ./lib/guile/2.0/ccache/language/elisp/compile-tree-il.go
- ./lib/guile/2.0/ccache/language/elisp/spec.go
- ./lib/guile/2.0/ccache/language/elisp/parser.go
- ./lib/guile/2.0/ccache/language/elisp/runtime.go
- ./lib/guile/2.0/ccache/language/elisp/bindings.go
- ./lib/guile/2.0/ccache/language/elisp/lexer.go
- ./lib/guile/2.0/ccache/language/elisp/runtime/
- ./lib/guile/2.0/ccache/language/elisp/runtime/value-slot.go
- ./lib/guile/2.0/ccache/language/elisp/runtime/function-slot.go
- ./lib/guile/2.0/ccache/language/elisp/runtime/subrs.go
- ./lib/guile/2.0/ccache/language/elisp/runtime/macros.go
- ./lib/guile/2.0/ccache/language/assembly/
- ./lib/guile/2.0/ccache/language/assembly/decompile-bytecode.go
- ./lib/guile/2.0/ccache/language/assembly/spec.go
- ./lib/guile/2.0/ccache/language/assembly/compile-bytecode.go
- ./lib/guile/2.0/ccache/language/assembly/disassemble.go
- ./lib/guile/2.0/ccache/language/tree-il.go
- ./lib/guile/2.0/ccache/language/glil.go
- ./lib/guile/2.0/ccache/language/scheme/
- ./lib/guile/2.0/ccache/language/scheme/compile-tree-il.go
- ./lib/guile/2.0/ccache/language/scheme/spec.go
- ./lib/guile/2.0/ccache/language/scheme/decompile-tree-il.go
- ./lib/guile/2.0/ccache/language/brainfuck/
- ./lib/guile/2.0/ccache/language/brainfuck/compile-tree-il.go
- ./lib/guile/2.0/ccache/language/brainfuck/spec.go
- ./lib/guile/2.0/ccache/language/brainfuck/parse.go
- ./lib/guile/2.0/ccache/language/brainfuck/compile-scheme.go
- ./lib/guile/2.0/ccache/language/objcode/
- ./lib/guile/2.0/ccache/language/objcode/spec.go
- ./lib/guile/2.0/ccache/language/bytecode/
- ./lib/guile/2.0/ccache/language/bytecode/spec.go
- ./lib/guile/2.0/ccache/language/glil/
- ./lib/guile/2.0/ccache/language/glil/compile-assembly.go
- ./lib/guile/2.0/ccache/language/glil/spec.go
- ./lib/guile/2.0/ccache/language/tree-il/
- ./lib/guile/2.0/ccache/language/tree-il/debug.go
- ./lib/guile/2.0/ccache/language/tree-il/compile-glil.go
- ./lib/guile/2.0/ccache/language/tree-il/optimize.go
- ./lib/guile/2.0/ccache/language/tree-il/spec.go
- ./lib/guile/2.0/ccache/language/tree-il/canonicalize.go
- ./lib/guile/2.0/ccache/language/tree-il/inline.go
- ./lib/guile/2.0/ccache/language/tree-il/analyze.go
- ./lib/guile/2.0/ccache/language/tree-il/peval.go
- ./lib/guile/2.0/ccache/language/tree-il/cse.go
- ./lib/guile/2.0/ccache/language/tree-il/fix-letrec.go
- ./lib/guile/2.0/ccache/language/tree-il/effects.go
- ./lib/guile/2.0/ccache/language/tree-il/primitives.go
- ./lib/guile/2.0/ccache/language/ecmascript/
- ./lib/guile/2.0/ccache/language/ecmascript/compile-tree-il.go
- ./lib/guile/2.0/ccache/language/ecmascript/spec.go
- ./lib/guile/2.0/ccache/language/ecmascript/parse.go
- ./lib/guile/2.0/ccache/language/ecmascript/tokenize.go
- ./lib/guile/2.0/ccache/language/ecmascript/array.go
- ./lib/guile/2.0/ccache/language/ecmascript/impl.go
- ./lib/guile/2.0/ccache/language/ecmascript/function.go
- ./lib/guile/2.0/ccache/language/ecmascript/base.go
- ./lib/guile/2.0/ccache/language/value/
- ./lib/guile/2.0/ccache/language/value/spec.go
- ./lib/guile/2.0/ccache/web/
- ./lib/guile/2.0/ccache/web/http.go
- ./lib/guile/2.0/ccache/web/server/
- ./lib/guile/2.0/ccache/web/server/http.go
- ./lib/guile/2.0/ccache/web/client.go
- ./lib/guile/2.0/ccache/web/request.go
- ./lib/guile/2.0/ccache/web/server.go
- ./lib/guile/2.0/ccache/web/uri.go
- ./lib/guile/2.0/ccache/web/response.go
- ./lib/guile/2.0/ccache/oop/
- ./lib/guile/2.0/ccache/oop/goops.go
- ./lib/guile/2.0/ccache/oop/goops/
- ./lib/guile/2.0/ccache/oop/goops/composite-slot.go
- ./lib/guile/2.0/ccache/oop/goops/internal.go
- ./lib/guile/2.0/ccache/oop/goops/stklos.go
- ./lib/guile/2.0/ccache/oop/goops/save.go
- ./lib/guile/2.0/ccache/oop/goops/dispatch.go
- ./lib/guile/2.0/ccache/oop/goops/util.go
- ./lib/guile/2.0/ccache/oop/goops/active-slot.go
- ./lib/guile/2.0/ccache/oop/goops/simple.go
- ./lib/guile/2.0/ccache/oop/goops/describe.go
- ./lib/guile/2.0/ccache/oop/goops/compile.go
- ./lib/guile/2.0/ccache/oop/goops/accessors.go
- ./lib/guile/2.0/ccache/rnrs/
- ./lib/guile/2.0/ccache/rnrs/mutable-pairs.go
- ./lib/guile/2.0/ccache/rnrs/control.go
- ./lib/guile/2.0/ccache/rnrs/records/
- ./lib/guile/2.0/ccache/rnrs/records/procedural.go
- ./lib/guile/2.0/ccache/rnrs/records/syntactic.go
- ./lib/guile/2.0/ccache/rnrs/records/inspection.go
- ./lib/guile/2.0/ccache/rnrs/arithmetic/
- ./lib/guile/2.0/ccache/rnrs/arithmetic/fixnums.go
- ./lib/guile/2.0/ccache/rnrs/arithmetic/bitwise.go
- ./lib/guile/2.0/ccache/rnrs/arithmetic/flonums.go
- ./lib/guile/2.0/ccache/rnrs/enums.go
- ./lib/guile/2.0/ccache/rnrs/programs.go
- ./lib/guile/2.0/ccache/rnrs/exceptions.go
- ./lib/guile/2.0/ccache/rnrs/files.go
- ./lib/guile/2.0/ccache/rnrs/syntax-case.go
- ./lib/guile/2.0/ccache/rnrs/lists.go
- ./lib/guile/2.0/ccache/rnrs/mutable-strings.go
- ./lib/guile/2.0/ccache/rnrs/unicode.go
- ./lib/guile/2.0/ccache/rnrs/r5rs.go
- ./lib/guile/2.0/ccache/rnrs/hashtables.go
- ./lib/guile/2.0/ccache/rnrs/eval.go
- ./lib/guile/2.0/ccache/rnrs/conditions.go
- ./lib/guile/2.0/ccache/rnrs/bytevectors.go
- ./lib/guile/2.0/ccache/rnrs/sorting.go
- ./lib/guile/2.0/ccache/rnrs/base.go
- ./lib/guile/2.0/ccache/rnrs/io/
- ./lib/guile/2.0/ccache/rnrs/io/ports.go
- ./lib/guile/2.0/ccache/rnrs/io/simple.go
- ./lib/guile/2.0/ccache/sxml/
- ./lib/guile/2.0/ccache/sxml/transform.go
- ./lib/guile/2.0/ccache/sxml/ssax.go
- ./lib/guile/2.0/ccache/sxml/simple.go
- ./lib/guile/2.0/ccache/sxml/apply-templates.go
- ./lib/guile/2.0/ccache/sxml/xpath.go
- ./lib/guile/2.0/ccache/sxml/match.go
- ./lib/guile/2.0/ccache/sxml/fold.go
- ./lib/guile/2.0/ccache/sxml/ssax/
- ./lib/guile/2.0/ccache/sxml/ssax/input-parse.go
- ./lib/guile/2.0/ccache/rnrs.go
- ./lib/guile/2.0/ccache/srfi/
- ./lib/guile/2.0/ccache/srfi/srfi-4.go
- ./lib/guile/2.0/ccache/srfi/srfi-14.go
- ./lib/guile/2.0/ccache/srfi/srfi-26.go
- ./lib/guile/2.0/ccache/srfi/srfi-17.go
- ./lib/guile/2.0/ccache/srfi/srfi-27.go
- ./lib/guile/2.0/ccache/srfi/srfi-38.go
- ./lib/guile/2.0/ccache/srfi/srfi-34.go
- ./lib/guile/2.0/ccache/srfi/srfi-13.go
- ./lib/guile/2.0/ccache/srfi/srfi-41.go
- ./lib/guile/2.0/ccache/srfi/srfi-19.go
- ./lib/guile/2.0/ccache/srfi/srfi-67.go
- ./lib/guile/2.0/ccache/srfi/srfi-9.go
- ./lib/guile/2.0/ccache/srfi/srfi-2.go
- ./lib/guile/2.0/ccache/srfi/srfi-4/
- ./lib/guile/2.0/ccache/srfi/srfi-4/gnu.go
- ./lib/guile/2.0/ccache/srfi/srfi-60.go
- ./lib/guile/2.0/ccache/srfi/srfi-11.go
- ./lib/guile/2.0/ccache/srfi/srfi-69.go
- ./lib/guile/2.0/ccache/srfi/srfi-6.go
- ./lib/guile/2.0/ccache/srfi/srfi-37.go
- ./lib/guile/2.0/ccache/srfi/srfi-39.go
- ./lib/guile/2.0/ccache/srfi/srfi-1.go
- ./lib/guile/2.0/ccache/srfi/srfi-8.go
- ./lib/guile/2.0/ccache/srfi/srfi-9/
- ./lib/guile/2.0/ccache/srfi/srfi-9/gnu.go
- ./lib/guile/2.0/ccache/srfi/srfi-45.go
- ./lib/guile/2.0/ccache/srfi/srfi-42.go
- ./lib/guile/2.0/ccache/srfi/srfi-16.go
- ./lib/guile/2.0/ccache/srfi/srfi-31.go
- ./lib/guile/2.0/ccache/srfi/srfi-18.go
- ./lib/guile/2.0/ccache/srfi/srfi-88.go
- ./lib/guile/2.0/ccache/srfi/srfi-10.go
- ./lib/guile/2.0/ccache/srfi/srfi-35.go
- ./lib/guile/2.0/ccache/srfi/srfi-98.go
- ./lib/guile/2.0/ccache/texinfo.go
- ./lib/guile/2.0/ccache/statprof.go
- ./bin/
- ./bin/guile
- guile (GNU Guile) 2.0.9
- Copyright (C) 2013 Free Software Foundation, Inc.
- License LGPLv3+: GNU LGPL 3 or later <http://gnu.org/licenses/lgpl.html>.
- This is free software: you are free to change and redistribute it.
- There is NO WARRANTY, to the extent permitted by law.
- @ build-succeeded /tmp/guix-tests/store/kn0gx5na8k2nilq6c362bmavywnilkhq-guile-bootstrap-2.0.drv -
- @ build-started /tmp/guix-tests/store/hwqvffm35c4xp24yvmamy8p5bg3j33rl-sleep-then-succeed.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/hw//qvffm35c4xp24yvmamy8p5bg3j33rl-sleep-then-succeed.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/hwqvffm35c4xp24yvmamy8p5bg3j33rl-sleep-then-succeed.drv -
- @ build-started /tmp/guix-tests/store/nzs8yyjwcl3b3pw7yrwvshq7km0slqqg-bar.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/nz//s8yyjwcl3b3pw7yrwvshq7km0slqqg-bar.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/nzs8yyjwcl3b3pw7yrwvshq7km0slqqg-bar.drv -
- @ build-started /tmp/guix-tests/store/7amfgi1b8y64ckydz2w6sl125ajdzh6w-foo.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/7a//mfgi1b8y64ckydz2w6sl125ajdzh6w-foo.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/7amfgi1b8y64ckydz2w6sl125ajdzh6w-foo.drv -
- (search-path %load-path "ice-9/boot-9.scm"))
- + (input*
- + (add-to-store
- + %store
- + (basename input)
- + #t
- + "sha256"
- + input))
- + (drv (derivation
- + %store
- + "derivation-with-input-file"
- + %bash
- + `(,builder)
- + #:env-vars
- + `(("in" unquote input*))
- + #:inputs
- + `((,%bash) (,builder) (,input)))))
- + (and (build-derivations %store (list drv))
- + (valid-path?
- + %store
- + (derivation->output-path drv)))))
- actual-value: #t
- result: PASS
- test-name: derivation fails but keep going
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:165
- source:
- + (test-assert
- + "derivation fails but keep going"
- + (with-store
- + store
- + (let* ((d1 (derivation
- + %store
- + "fails"
- + %bash
- + `("-c" "false")
- + #:inputs
- + `((,%bash))))
- + (d2 (build-expression->derivation
- + %store
- + "sleep-then-succeed"
- + `(begin ,(random-text) (sleep 2) (mkdir %output)))))
- + (set-build-options
- + %store
- + #:use-substitutes?
- + #f
- + #:keep-going?
- + #t)
- + (guard (c ((nix-protocol-error? c)
- + (and (= 100 (nix-protocol-error-status c))
- + (string-contains
- + (nix-protocol-error-message c)
- + (derivation-file-name d1))
- + (not (valid-path? %store (derivation->output-path d1)))
- + (valid-path? %store (derivation->output-path d2)))))
- + (build-derivations %store (list d1 d2))
- + #f))))
- actual-value: #t
- result: PASS
- test-name: identical files are deduplicated
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:192
- source:
- + (test-assert
- + "identical files are deduplicated"
- + (let* ((build1
- + (add-text-to-store
- + %store
- + "one.sh"
- + "echo hello, world > \"$out\"\n"
- + '()))
- + (build2
- + (add-text-to-store
- + %store
- + "two.sh"
- + "# Hey!\necho hello, world > \"$out\"\n"
- + '()))
- + (drv1 (derivation
- + %store
- + "foo"
- + %bash
- + `(,build1)
- + #:inputs
- + `((,%bash) (,build1))))
- + (drv2 (derivation
- + %store
- + "bar"
- + %bash
- + `(,build2)
- + #:inputs
- + `((,%bash) (,build2)))))
- + (and (build-derivations %store (list drv1 drv2))
- + (let ((file1 (derivation->output-path drv1))
- + (file2 (derivation->output-path drv2)))
- + (and (valid-path? %store file1)
- + (valid-path? %store file2)
- + (string=?
- + (call-with-input-file file1 get-string-all)
- + "hello, world\n")
- + (= (stat:ino (lstat file1))
- + (stat:ino (lstat file2))))))))
- actual-value: #t
- result: PASS
- test-name: built-in-builders
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:214
- source:
- + (test-equal
- + "built-in-builders"
- + '("download")
- + (built-in-builders %store))
- expected-value: ("download")
- actual-value: ("download")
- result: PASS
- test-name: unknown built-in builder
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:218
- source:
- + (test-assert
- + "unknown built-in builder"
- + (let ((drv (derivation
- + %store
- + "ohoh"
- + "builtin:does-not-exist"
- + '())))
- + (guard (c ((nix-protocol-error? c)
- + (string-contains
- + (nix-protocol-error-message c)
- + @ build-started /tmp/guix-tests/store/96bncx0a55ryyvb2i6z8i6rycxwlpwhg-ohoh.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/96//bncx0a55ryyvb2i6z8i6rycxwlpwhg-ohoh.drv.bz2
- error: unsupported builtin function 'does-not-exist'
- builder for `/tmp/guix-tests/store/96bncx0a55ryyvb2i6z8i6rycxwlpwhg-ohoh.drv' failed with exit code 1
- @ build-failed /tmp/guix-tests/store/96bncx0a55ryyvb2i6z8i6rycxwlpwhg-ohoh.drv - 1 builder for `/tmp/guix-tests/store/96bncx0a55ryyvb2i6z8i6rycxwlpwhg-ohoh.drv' failed with exit code 1
- @ build-started /tmp/guix-tests/store/smca5zf1p63b4gwk8al9x7pjjca91rd6-world.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/sm//ca5zf1p63b4gwk8al9x7pjjca91rd6-world.drv.bz2
- Starting download of /tmp/guix-tests/store/nzg78pzn9mrwl35wq0lnz925cyjcrn5x-world
- From http://localhost:10500/foo/bar...
- [K bar 64B 0B/s 00:00 [ ] 0.0%
- [K bar 64B 305KiB/s 00:00 [####################] 100.0%
- @ build-succeeded /tmp/guix-tests/store/smca5zf1p63b4gwk8al9x7pjjca91rd6-world.drv -
- @ build-started /tmp/guix-tests/store/v45bx2cbgz6windf4w2mjs5nlnkf88ag-world.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/v4//5bx2cbgz6windf4w2mjs5nlnkf88ag-world.drv.bz2
- Starting download of /tmp/guix-tests/store/56l4ckplfzx8y1mcrh11h4lg027krwgc-world
- From http://localhost:10500/foo/bar...
- [K bar 13B 0B/s 00:00 [ ] 0.0%
- [K bar 13B 59KiB/s 00:00 [####################] 100.0%
- output path `/tmp/guix-tests/store/56l4ckplfzx8y1mcrh11h4lg027krwgc-world' should have sha256 hash `0srnayadyaqak1i9a7az1lxpbmgq8qpx6xpmi7v93qwra0nv49x4', instead has `0a7pd3rizm1qb3kz1ad1wzrijrhwsnq3lj7qprc86zp6a6r5drk8'
- @ build-failed /tmp/guix-tests/store/v45bx2cbgz6windf4w2mjs5nlnkf88ag-world.drv - 1 output path `/tmp/guix-tests/store/56l4ckplfzx8y1mcrh11h4lg027krwgc-world' should have sha256 hash `0srnayadyaqak1i9a7az1lxpbmgq8qpx6xpmi7v93qwra0nv49x4', instead has `0a7pd3rizm1qb3kz1ad1wzrijrhwsnq3lj7qprc86zp6a6r5drk8'
- @ build-started /tmp/guix-tests/store/169y82wnbs4qkhccgqfm10i7zxpq1ind-will-never-be-found.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/16//9y82wnbs4qkhccgqfm10i7zxpq1ind-will-never-be-found.drv.bz2
- Starting download of /tmp/guix-tests/store/n98dcliqml18ylfx5a4ll82rvqprwhz0-will-never-be-found
- From http://localhost:10500/foo/bar...
- ERROR: download failed "http://localhost:10500/foo/bar" 404 "Such is life"
- failed to download "/tmp/guix-tests/store/n98dcliqml18ylfx5a4ll82rvqprwhz0-will-never-be-found" from "http://localhost:10500/foo/bar"
- builder for `/tmp/guix-tests/store/169y82wnbs4qkhccgqfm10i7zxpq1ind-will-never-be-found.drv' failed to produce output path `/tmp/guix-tests/store/n98dcliqml18ylfx5a4ll82rvqprwhz0-will-never-be-found'
- @ build-failed /tmp/guix-tests/store/169y82wnbs4qkhccgqfm10i7zxpq1ind-will-never-be-found.drv - 1 builder for `/tmp/guix-tests/store/169y82wnbs4qkhccgqfm10i7zxpq1ind-will-never-be-found.drv' failed to produce output path `/tmp/guix-tests/store/n98dcliqml18ylfx5a4ll82rvqprwhz0-will-never-be-found'
- @ build-started /tmp/guix-tests/store/5hqvbsh3kc0mgh41rda902fk0vqjcq01-world.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/5h//qvbsh3kc0mgh41rda902fk0vqjcq01-world.drv.bz2
- guix perform-download: error: /tmp/guix-tests/store/5hqvbsh3kc0mgh41rda902fk0vqjcq01-world.drv is not a fixed-output derivation
- builder for `/tmp/guix-tests/store/5hqvbsh3kc0mgh41rda902fk0vqjcq01-world.drv' failed with exit code 1
- @ build-failed /tmp/guix-tests/store/5hqvbsh3kc0mgh41rda902fk0vqjcq01-world.drv - 1 builder for `/tmp/guix-tests/store/5hqvbsh3kc0mgh41rda902fk0vqjcq01-world.drv' failed with exit code 1
- "failed")))
- + (build-derivations %store (list drv))
- + #f)))
- actual-value: 75
- result: PASS
- test-name: 'download' built-in builder
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:227
- source:
- + (test-assert
- + "'download' built-in builder"
- + (let ((text (random-text)))
- + (with-http-server
- + 200
- + text
- + (let* ((drv (derivation
- + %store
- + "world"
- + "builtin:download"
- + '()
- + #:env-vars
- + `(("url" unquote (object->string (%local-url))))
- + #:hash-algo
- + 'sha256
- + #:hash
- + (sha256 (string->utf8 text)))))
- + (and (build-derivations %store (list drv))
- + (string=?
- + (call-with-input-file
- + (derivation->output-path drv)
- + get-string-all)
- + text))))))
- actual-value: #t
- result: PASS
- test-name: 'download' built-in builder, invalid hash
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:243
- source:
- + (test-assert
- + "'download' built-in builder, invalid hash"
- + (with-http-server
- + 200
- + "hello, world!"
- + (let* ((drv (derivation
- + %store
- + "world"
- + "builtin:download"
- + '()
- + #:env-vars
- + `(("url" unquote (object->string (%local-url))))
- + #:hash-algo
- + 'sha256
- + #:hash
- + (sha256 (random-bytevector 100)))))
- + (guard (c ((nix-protocol-error? c)
- + (string-contains
- + (nix-protocol-error-message c)
- + "failed")))
- + (build-derivations %store (list drv))
- + #f))))
- actual-value: 76
- result: PASS
- test-name: 'download' built-in builder, not found
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:258
- source:
- + (test-assert
- + "'download' built-in builder, not found"
- + (with-http-server
- + 404
- + "not found"
- + (let* ((drv (derivation
- + %store
- + "will-never-be-found"
- + "builtin:download"
- + '()
- + #:env-vars
- + `(("url" unquote (object->string (%local-url))))
- + #:hash-algo
- + 'sha256
- + #:hash
- + (sha256 (random-bytevector 100)))))
- + (guard (c ((nix-protocol-error? c)
- + (string-contains
- + (nix-protocol-error-message (pk c))
- + "failed")))
- + (build-derivations %store (list drv))
- + #f))))
- ;;; (#<condition &nix-protocol-error [message: "build of `/tmp/guix-tests/store/169y82wnbs4qkhccgqfm10i7zxpq1ind-will-never-be-found.drv' failed" status: 1] 1b94000>)
- actual-value: 90
- result: PASS
- test-name: 'download' built-in builder, not fixed-output
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:271
- source:
- + (test-assert
- + "'download' built-in builder, not fixed-output"
- + (let* ((source (add-text-to-store %store "hello" "hi!"))
- + (url (string-append "file://" source))
- + (drv (derivation
- + %store
- + "world"
- + "builtin:download"
- + '()
- + #:env-vars
- + `(("url" unquote (object->string url))))))
- + (guard (c ((nix-protocol-error? c)
- + (string-contains
- + (nix-protocol-error-message c)
- + "failed")))
- + (build-derivations %store (list drv))
- + #f)))
- actual-value: 76
- result: PASS
- test-name: 'download' built-in builder, check mode
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:284
- source:
- + (test-assert
- + "'download' built-in builder, check mode"
- + (let* ((text (random-text))
- @ build-started /tmp/guix-tests/store/4qa12ysg1cfvj6z8ldlnsk48c73jyndg-world.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/4q//a12ysg1cfvj6z8ldlnsk48c73jyndg-world.drv.bz2
- Starting download of /tmp/guix-tests/store/6fjrvl6qgrfmk4j891vjj2srnm5s1993-world
- From http://localhost:10500/foo/bar...
- [K bar 64B 0B/s 00:00 [ ] 0.0%
- [K bar 64B 293KiB/s 00:00 [####################] 100.0%
- @ build-succeeded /tmp/guix-tests/store/4qa12ysg1cfvj6z8ldlnsk48c73jyndg-world.drv -
- @ build-started /tmp/guix-tests/store/4qa12ysg1cfvj6z8ldlnsk48c73jyndg-world.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/4q//a12ysg1cfvj6z8ldlnsk48c73jyndg-world.drv.bz2
- Starting download of /tmp/guix-tests/store/0ki5sxlqh77r1x4n9ra7qqiqzdl194r9-world
- From http://localhost:10500/foo/bar...
- [K bar 64B 0B/s 00:00 [ ] 0.0%
- [K bar 64B 298KiB/s 00:00 [####################] 100.0%
- warning: rewriting hashes in `/tmp/guix-tests/store/6fjrvl6qgrfmk4j891vjj2srnm5s1993-world'; cross fingers
- span class="sy0"> + (drv (derivation
- + %store
- + "world"
- + "builtin:download"
- + '()
- + #:env-vars
- + `(("url" unquote (object->string (%local-url))))
- + #:hash-algo
- + 'sha256
- + #:hash
- + (sha256 (string->utf8 text)))))
- + (and (with-http-server
- + 200
- + text
- + (build-derivations %store (list drv)))
- + (with-http-server
- + 200
- + text
- + (build-derivations
- + %store
- + (list drv)
- + (build-mode check)))
- + (string=?
- + (call-with-input-file
- + (derivation->output-path drv)
- + get-string-all)
- + text))))
- actual-value: #t
- result: PASS
- test-name: derivation-name
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:303
- source:
- + (test-equal
- + "derivation-name"
- + "foo-0.0"
- + (let ((drv (derivation %store "foo-0.0" %bash '())))
- + (derivation-name drv)))
- expected-value: "foo-0.0"
- actual-value: "foo-0.0"
- result: PASS
- test-name: derivation-output-names
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:308
- source:
- + (test-equal
- + "derivation-output-names"
- + '(("out") ("bar" "chbouib"))
- + (let ((drv1 (derivation %store "foo-0.0" %bash '()))
- + (drv2 (derivation
- + %store
- + "foo-0.0"
- + %bash
- + '()
- + #:outputs
- + '("bar" "chbouib"))))
- + (list (derivation-output-names drv1)
- + (derivation-output-names drv2))))
- expected-value: (("out") ("bar" "chbouib"))
- actual-value: (("out") ("bar" "chbouib"))
- result: PASS
- test-name: offloadable-derivation?
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:316
- source:
- + (test-assert
- + "offloadable-derivation?"
- + (and (offloadable-derivation?
- + (derivation %store "foo" %bash '()))
- + (offloadable-derivation?
- + (derivation
- + %store
- + "foo"
- + %bash
- + '()
- + #:substitutable?
- + #f))
- + (not (offloadable-derivation?
- + (derivation
- + %store
- + "foo"
- + %bash
- + '()
- + #:local-build?
- + #t)))))
- actual-value: #t
- result: PASS
- test-name: substitutable-derivation?
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:325
- source:
- + (test-assert
- + "substitutable-derivation?"
- + (and (substitutable-derivation?
- + (derivation %store "foo" %bash '()))
- + (substitutable-derivation?
- + (derivation
- + %store
- + "foo"
- + %bash
- + '()
- + #:local-build?
- + #t))
- + (not (substitutable-derivation?
- + (derivation
- + %store
- + "foo"
- + %bash
- + '()
- + #:substitutable?
- + #f)))))
- actual-value: #t
- result: PASS
- test-name: fixed-output-derivation?
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:334
- source:
- + (test-assert
- + "fixed-output-derivation?"
- + (let* ((builder
- + (add-text-to-store
- + %store
- + "my-fixed-builder.sh"
- + "echo -n hello > $out"
- + '()))
- + (hash (sha256 (string->utf8 "hello")))
- + (drv (derivation
- + %store
- + "fixed"
- + %bash
- + `(,builder)
- + #:inputs
- + `((,builder))
- + #:hash
- + hash
- + #:hash-algo
- + 'sha256)))
- + (fixed-output-derivation? drv)))
- actual-value: #t
- result: PASS
- test-name: fixed-output derivation
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:344
- source:
- + (test-assert
- + "fixed-output derivation"
- + (let* @ build-started /tmp/guix-tests/store/k4nhzjjfk1acbcpsvm2yhxkj5jvqm59l-fixed.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/k4//nhzjjfk1acbcpsvm2yhxkj5jvqm59l-fixed.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/k4nhzjjfk1acbcpsvm2yhxkj5jvqm59l-fixed.drv -
- @ build-started /tmp/guix-tests/store/b85qz6zrg22iilj4wcvja2w69vvzp9hy-fixed-rec.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/b8//5qz6zrg22iilj4wcvja2w69vvzp9hy-fixed-rec.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/b85qz6zrg22iilj4wcvja2w69vvzp9hy-fixed-rec.drv -
- ((builder
- + (add-text-to-store
- + %store
- + "my-fixed-builder.sh"
- + "echo -n hello > $out"
- + '()))
- + (hash (sha256 (string->utf8 "hello")))
- + (drv (derivation
- + %store
- + "fixed"
- + %bash
- + `(,builder)
- + #:inputs
- + `((,builder))
- + #:hash
- + hash
- + #:hash-algo
- + 'sha256))
- + (succeeded?
- + (build-derivations %store (list drv))))
- + (and succeeded?
- + (let ((p (derivation->output-path drv)))
- + (and (equal?
- + (string->utf8 "hello")
- + (call-with-input-file p get-bytevector-all))
- + (bytevector? (query-path-hash %store p)))))))
- actual-value: #t
- result: PASS
- test-name: fixed-output derivation: output paths are equal
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:359
- source:
- + (test-assert
- + "fixed-output derivation: output paths are equal"
- + (let* ((builder1
- + (add-text-to-store
- + %store
- + "fixed-builder1.sh"
- + "echo -n hello > $out"
- + '()))
- + (builder2
- + (add-text-to-store
- + %store
- + "fixed-builder2.sh"
- + "echo hey; echo -n hello > $out"
- + '()))
- + (hash (sha256 (string->utf8 "hello")))
- + (drv1 (derivation
- + %store
- + "fixed"
- + %bash
- + `(,builder1)
- + #:hash
- + hash
- + #:hash-algo
- + 'sha256))
- + (drv2 (derivation
- + %store
- + "fixed"
- + %bash
- + `(,builder2)
- + #:hash
- + hash
- + #:hash-algo
- + 'sha256))
- + (succeeded?
- + (build-derivations %store (list drv1 drv2))))
- + (and succeeded?
- + (equal?
- + (derivation->output-path drv1)
- + (derivation->output-path drv2)))))
- actual-value: #t
- result: PASS
- test-name: fixed-output derivation, recursive
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:376
- source:
- + (test-assert
- + "fixed-output derivation, recursive"
- + (let* ((builder
- + (add-text-to-store
- + %store
- + "my-fixed-builder.sh"
- + "echo -n hello > $out"
- + '()))
- + (hash (sha256 (string->utf8 "hello")))
- + (drv (derivation
- + %store
- + "fixed-rec"
- + %bash
- + `(,builder)
- + #:inputs
- + `((,builder))
- + #:hash
- + (base32
- + "0sg9f58l1jj88w6pdrfdpj5x9b1zrwszk84j81zvby36q9whhhqa")
- + #:hash-algo
- + 'sha256
- + #:recursive?
- + #t))
- + (succeeded?
- + (build-derivations %store (list drv))))
- + (and succeeded?
- + (let ((p (derivation->output-path drv)))
- + (and (equal?
- + (string->utf8 "hello")
- + (call-with-input-file p get-bytevector-all))
- + (bytevector? (query-path-hash %store p)))))))
- actual-value: #t
- result: PASS
- test-name: derivation with a fixed-output input
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:393
- source:
- + (test-assert
- + "derivation with a fixed-output input"
- + (let* ((builder1
- + (add-text-to-store
- + %store
- + "fixed-builder1.sh"
- + "echo -n hello > $out"
- + '()))
- + (builder2
- + (add-text-to-store
- + %store
- + "fixed-builder2.sh"
- + "echo hey; echo -n hello > $out"
- + '()))
- + (hash (sha256 (string->utf8 "hello")))
- + (fixed1
- + (derivation
- + @ build-started /tmp/guix-tests/store/2q3q6qs3wvi5d5v807lgn76ab0q4341v-final.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/2q//3q6qs3wvi5d5v807lgn76ab0q4341v-final.drv.bz2
- /tmp/guix-tests/store/7bdcga4xc915pgzf524xhjk677521whr-fixed
- @ build-succeeded /tmp/guix-tests/store/2q3q6qs3wvi5d5v807lgn76ab0q4341v-final.drv -
- @ build-started /tmp/guix-tests/store/jgsbqbf10dnfyjmyjsphx715znbn8rhv-fixed.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/jg//sbqbf10dnfyjmyjsphx715znbn8rhv-fixed.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/jgsbqbf10dnfyjmyjsphx715znbn8rhv-fixed.drv -
- @ build-started /tmp/guix-tests/store/1s96ljyrlllvp5b91s56i5hdy2chhyw2-fixed.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/1s//96ljyrlllvp5b91s56i5hdy2chhyw2-fixed.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/1s96ljyrlllvp5b91s56i5hdy2chhyw2-fixed.drv -
- %store
- + "fixed"
- + %bash
- + `(,builder1)
- + #:hash
- + hash
- + #:hash-algo
- + 'sha256))
- + (fixed2
- + (derivation
- + %store
- + "fixed"
- + %bash
- + `(,builder2)
- + #:hash
- + hash
- + #:hash-algo
- + 'sha256))
- + (fixed-out (derivation->output-path fixed1))
- + (builder3
- + (add-text-to-store
- + %store
- + "final-builder.sh"
- + "echo $in ; (read -u 3 c; echo $c) 3< $in > $out"
- + '()))
- + (final1
- + (derivation
- + %store
- + "final"
- + %bash
- + `(,builder3)
- + #:env-vars
- + `(("in" unquote fixed-out))
- + #:inputs
- + `((,%bash) (,builder3) (,fixed1))))
- + (final2
- + (derivation
- + %store
- + "final"
- + %bash
- + `(,builder3)
- + #:env-vars
- + `(("in" unquote fixed-out))
- + #:inputs
- + `((,%bash) (,builder3) (,fixed2))))
- + (succeeded?
- + (build-derivations %store (list final1 final2))))
- + (and succeeded?
- + (equal?
- + (derivation->output-path final1)
- + (derivation->output-path final2)))))
- actual-value: #t
- result: PASS
- test-name: multiple-output derivation
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:427
- source:
- + (test-assert
- + "multiple-output derivation"
- + (let* ((builder
- + (add-text-to-store
- + %store
- + "my-fixed-builder.sh"
- + "echo one > $out ; echo two > $second"
- + '()))
- + (drv (derivation
- + %store
- + "fixed"
- + %bash
- + `(,builder)
- + #:env-vars
- + '(("HOME" . "/homeless")
- + ("zzz" . "Z!")
- + ("AAA" . "A!"))
- + #:inputs
- + `((,%bash) (,builder))
- + #:outputs
- + '("out" "second")))
- + (succeeded?
- + (build-derivations %store (list drv))))
- + (and succeeded?
- + (let ((one (derivation->output-path drv "out"))
- + (two (derivation->output-path drv "second")))
- + (and (lset= equal?
- + (derivation->output-paths drv)
- + `(("out" unquote one) ("second" unquote two)))
- + (eq? 'one (call-with-input-file one read))
- + (eq? 'two (call-with-input-file two read)))))))
- actual-value: #t
- result: PASS
- test-name: multiple-output derivation, non-alphabetic order
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:448
- source:
- + (test-assert
- + "multiple-output derivation, non-alphabetic order"
- + (let* ((builder
- + (add-text-to-store
- + %store
- + "my-fixed-builder.sh"
- + "echo one > $out ; echo two > $AAA"
- + '()))
- + (drv (derivation
- + %store
- + "fixed"
- + %bash
- + `(,builder)
- + #:inputs
- + `((,%bash) (,builder))
- + #:outputs
- + '("out" "AAA")))
- + (succeeded?
- + (build-derivations %store (list drv))))
- + (and succeeded?
- + (let ((one (derivation->output-path drv "out"))
- + (two (derivation->output-path drv "AAA")))
- + (and (eq? 'one (call-with-input-file one read))
- + (eq? 'two (call-with-input-file two read)))))))
- actual-value: #t
- result: PASS
- test-name: read-derivation vs. derivation
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:465
- source:
- + (test-assert
- + "read-derivation vs. derivation"
- + (let* ((sources
- + (unfold
- + (cut >= <> 10)
- + (lambda (n)
- + (add-text-to-store
- + %store
- + (format #f "input~a" n)
- + (random-text)))
- + #{1+}#
- + 0))
- + (inputs
- + (map (lambda (file)
- + (derivation
- + %store
- + "derivation-input"
- + %bash
- + '()
- + #:inputs
- + `((,%bash) (,file))))
- + sources))
- + (builder
- + (add-text-to-store
- + %store
- + "builder.sh"
- + "echo one > $one ; echo two > $two"
- + '()))
- + (drv (derivation
- + %store
- + "derivation"
- + %bash
- + `(,builder)
- + #:inputs
- + `((,%bash)
- + (,builder)
- + ,@(map list (append sources inputs)))
- + #:outputs
- + '("two" "one")))
- + (drv* (call-with-input-file
- + (derivation-file-name drv)
- + read-derivation)))
- + (equal? drv* drv)))
- actual-value: #t
- result: PASS
- test-name: multiple-output derivation, derivation-path->output-path
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:492
- source:
- + (test-assert
- + "multiple-output derivation, derivation-path->output-path"
- + (let* ((builder
- + (add-text-to-store
- + %store
- + "builder.sh"
- + "echo one > $out ; echo two > $second"
- + '()))
- + (drv (derivation
- + %store
- + "multiple"
- + %bash
- + `(,builder)
- + #:outputs
- + '("out" "second")))
- + (drv-file (derivation-file-name drv))
- + (one (derivation->output-path drv "out"))
- + (two (derivation->output-path drv "second"))
- + (first (derivation-path->output-path drv-file "out"))
- + (second
- + (derivation-path->output-path drv-file "second")))
- + (and (not (string=? one two))
- + (string-suffix? "-second" two)
- + (string=? first one)
- + (string=? second two))))
- actual-value: #t
- result: PASS
- test-name: user of multiple-output derivation
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:509
- source:
- + (test-assert
- + "user of multiple-output derivation"
- + (let* ((builder1
- + (add-text-to-store
- + %store
- + "my-mo-builder.sh"
- + "echo one > $out ; echo two > $two"
- + '()))
- + (mdrv (derivation
- + %store
- + "multiple-output"
- + %bash
- + `(,builder1)
- + #:inputs
- + `((,%bash) (,builder1))
- + #:outputs
- + '("out" "two")))
- + (builder2
- + (add-text-to-store
- + %store
- + "my-mo-user-builder.sh"
- + "read x < $one;\n read y < $two;\n echo \"($x $y)\" > $out"
- + '()))
- + (udrv (derivation
- + %store
- + "multiple-output-user"
- + %bash
- + `(,builder2)
- + #:env-vars
- + `(("one"
- + unquote
- + (derivation->output-path mdrv "out"))
- + ("two"
- + unquote
- + (derivation->output-path mdrv "two")))
- + #:inputs
- + `((,%bash) (,builder2) (,mdrv) (,mdrv "two")))))
- + (and (build-derivations %store (list (pk 'udrv udrv)))
- + (let ((p (derivation->output-path udrv)))
- + (and (valid-path? %store p)
- + (equal? '(one two) (call-with-input-file p read)))))))
- ;;; (udrv #<derivation /tmp/guix-tests/store/d1iq16cxzglxwmv478pk9viic0vm0ca2-multiple-output-user.drv => @ build-started /tmp/guix-tests/store/iryf8h5akyy02qd3dd9ps1ka026cyanz-multiple-output.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/ir//yf8h5akyy02qd3dd9ps1ka026cyanz-multiple-output.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/iryf8h5akyy02qd3dd9ps1ka026cyanz-multiple-output.drv -
- @ build-started /tmp/guix-tests/store/d1iq16cxzglxwmv478pk9viic0vm0ca2-multiple-output-user.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/d1//iq16cxzglxwmv478pk9viic0vm0ca2-multiple-output-user.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/d1iq16cxzglxwmv478pk9viic0vm0ca2-multiple-output-user.drv -
- @ build-started /tmp/guix-tests/store/mbi7gj0nlckkz5xchza6rl5vwsnybh73-closure-graphs.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/mb//i7gj0nlckkz5xchza6rl5vwsnybh73-closure-graphs.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/mbi7gj0nlckkz5xchza6rl5vwsnybh73-closure-graphs.drv -
- @ build-started /tmp/guix-tests/store/q4wh93j1i84snrx51al231wnj4g5i99b-allowed.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/q4//wh93j1i84snrx51al231wnj4g5i99b-allowed.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/q4wh93j1i84snrx51al231wnj4g5i99b-allowed.drv -
- @ build-started /tmp/guix-tests/store/nxjmh1ipl69ak2x01igkqr2m0qg312bs-disallowed.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/nx//jmh1ipl69ak2x01igkqr2m0qg312bs-disallowed.drv.bz2
- output (`/tmp/guix-tests/store/sjsz32mf9z3nwz33v72l68x0l3m4gdy0-disallowed') is not allowed to refer to path `/tmp/guix-tests/store/bdx3lhq3793i8lz6fvldrp917ba52v1v-foo'
- @ build-failed /tmp/guix-tests/store/nxjmh1ipl69ak2x01igkqr2m0qg312bs-disallowed.drv - 1 output (`/tmp/guix-tests/store/sjsz32mf9z3nwz33v72l68x0l3m4gdy0-disallowed') is not allowed to refer to path `/tmp/guix-tests/store/bdx3lhq3793i8lz6fvldrp917ba52v1v-foo'
- /tmp/guix-tests/store/01sib6yydjyifqm8is82l8q4xr6g84lx-multiple-output-user 1d7c8c0>)
- actual-value: #t
- result: PASS
- test-name: derivation with #:references-graphs
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:542
- source:
- + (test-assert
- + "derivation with #:references-graphs"
- + (let* ((input1
- + (add-text-to-store
- + %store
- + "foo"
- + "hello"
- + (list %bash)))
- + (input2
- + (add-text-to-store
- + %store
- + "bar"
- + (number->string (random 7777))
- + (list input1)))
- + (builder
- + (add-text-to-store
- + %store
- + "build-graph"
- + (format
- + #f
- + "\n~a $out\n (while read l ; do echo $l ; done) < bash > $out/bash\n (while read l ; do echo $l ; done) < input1 > $out/input1\n (while read l ; do echo $l ; done) < input2 > $out/input2"
- + %mkdir)
- + (list %mkdir)))
- + (drv (derivation
- + %store
- + "closure-graphs"
- + %bash
- + `(,builder)
- + #:references-graphs
- + `(("bash" unquote %bash)
- + ("input1" unquote input1)
- + ("input2" unquote input2))
- + #:inputs
- + `((,%bash) (,builder))))
- + (out (derivation->output-path drv)))
- + (define (deps path . deps)
- + (let ((count (length deps)))
- + (string-append
- + path
- + "\n\n"
- + (number->string count)
- + "\n"
- + (string-join (sort deps string<?) "\n")
- + (if (zero? count) "" "\n"))))
- + (and (build-derivations %store (list drv))
- + (equal?
- + (directory-contents out get-string-all)
- + `(("/bash" unquote (string-append %bash "\n\n0\n"))
- + ("/input1"
- + unquote
- + (if (string>? input1 %bash)
- + (string-append (deps %bash) (deps input1 %bash))
- + (string-append (deps input1 %bash) (deps %bash))))
- + ("/input2"
- + unquote
- + (string-concatenate
- + (map cdr
- + (sort (map (lambda (p d) (cons p (apply deps p d)))
- + (list %bash input1 input2)
- + (list '() (list %bash) (list input1)))
- + (lambda (x y)
- + (match x
- + ((p1 . _)
- + (match y
- + ((p2 . _)
- + (string<? p1 p2)))))))))))))))
- actual-value: #t
- result: PASS
- test-name: derivation #:allowed-references, ok
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:592
- source:
- + (test-assert
- + "derivation #:allowed-references, ok"
- + (let ((drv (derivation
- + %store
- + "allowed"
- + %bash
- + '("-c" "echo hello > $out")
- + #:inputs
- + `((,%bash))
- + #:allowed-references
- + '())))
- + (build-derivations %store (list drv))))
- actual-value: #t
- result: PASS
- test-name: derivation #:allowed-references, not allowed
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:599
- source:
- + (test-assert
- + "derivation #:allowed-references, not allowed"
- + (let* ((txt (add-text-to-store %store "foo" "Hello, world."))
- + (drv (derivation
- + %store
- + "disallowed"
- + %bash
- + `("-c" ,(string-append "echo " txt "> $out"))
- + #:inputs
- + `((,%bash) (,txt))
- + #:allowed-references
- + '())))
- + (guard (c ((nix-protocol-error? c) #t))
- + (build-derivations %store (list drv))
- + #f)))
- actual-value: #t
- result: PASS
- test-name: @ build-started /tmp/guix-tests/store/gn8l3dbhnpjd4xnaq16jnigicb2yqv68-allowed.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/gn//8l3dbhnpjd4xnaq16jnigicb2yqv68-allowed.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/gn8l3dbhnpjd4xnaq16jnigicb2yqv68-allowed.drv -
- @ build-started /tmp/guix-tests/store/wi2xv7yipw4nx5xls95bygbj7dl62ml8-disallowed.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/wi//2xv7yipw4nx5xls95bygbj7dl62ml8-disallowed.drv.bz2
- output (`/tmp/guix-tests/store/x16606f0yf78viwdwhzcgvqcm8p8m1zf-disallowed') is not allowed to refer to path `/tmp/guix-tests/store/x16606f0yf78viwdwhzcgvqcm8p8m1zf-disallowed'
- @ build-failed /tmp/guix-tests/store/wi2xv7yipw4nx5xls95bygbj7dl62ml8-disallowed.drv - 1 output (`/tmp/guix-tests/store/x16606f0yf78viwdwhzcgvqcm8p8m1zf-disallowed') is not allowed to refer to path `/tmp/guix-tests/store/x16606f0yf78viwdwhzcgvqcm8p8m1zf-disallowed'
- @ build-started /tmp/guix-tests/store/vbnwanpq295lszpzd9x5rw8gyvzdai6f-disallowed.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/vb//nwanpq295lszpzd9x5rw8gyvzdai6f-disallowed.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/vbnwanpq295lszpzd9x5rw8gyvzdai6f-disallowed.drv -
- @ build-started /tmp/guix-tests/store/cbw7ax1vdz8i453gibbky564xs1iggmr-disdisallowed.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/cb//w7ax1vdz8i453gibbky564xs1iggmr-disdisallowed.drv.bz2
- output (`/tmp/guix-tests/store/lnay1n74vhpqndqwd4r7k439xw98kd2a-disdisallowed') is not allowed to refer to path `/tmp/guix-tests/store/bdx3lhq3793i8lz6fvldrp917ba52v1v-foo'
- @ build-failed /tmp/guix-tests/store/cbw7ax1vdz8i453gibbky564xs1iggmr-disdisallowed.drv - 1 output (`/tmp/guix-tests/store/lnay1n74vhpqndqwd4r7k439xw98kd2a-disdisallowed') is not allowed to refer to path `/tmp/guix-tests/store/bdx3lhq3793i8lz6fvldrp917ba52v1v-foo'
- @ build-started /tmp/guix-tests/store/h9mpwgprl6b5b966ravblk34ffy4qaq0-leaked-env-vars.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/h9//mpwgprl6b5b966ravblk34ffy4qaq0-leaked-env-vars.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/h9mpwgprl6b5b966ravblk34ffy4qaq0-leaked-env-vars.drv -
- derivation #:allowed-references, self allowed
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:611
- source:
- + (test-assert
- + "derivation #:allowed-references, self allowed"
- + (let ((drv (derivation
- + %store
- + "allowed"
- + %bash
- + '("-c" "echo $out > $out")
- + #:inputs
- + `((,%bash))
- + #:allowed-references
- + '("out"))))
- + (build-derivations %store (list drv))))
- actual-value: #t
- result: PASS
- test-name: derivation #:allowed-references, self not allowed
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:618
- source:
- + (test-assert
- + "derivation #:allowed-references, self not allowed"
- + (let ((drv (derivation
- + %store
- + "disallowed"
- + %bash
- + `("-c" ,"echo $out > $out")
- + #:inputs
- + `((,%bash))
- + #:allowed-references
- + '())))
- + (guard (c ((nix-protocol-error? c) #t))
- + (build-derivations %store (list drv))
- + #f)))
- actual-value: #t
- result: PASS
- test-name: derivation #:disallowed-references, ok
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:629
- source:
- + (test-assert
- + "derivation #:disallowed-references, ok"
- + (let ((drv (derivation
- + %store
- + "disallowed"
- + %bash
- + '("-c" "echo hello > $out")
- + #:inputs
- + `((,%bash))
- + #:disallowed-references
- + '("out"))))
- + (build-derivations %store (list drv))))
- actual-value: #t
- result: PASS
- test-name: derivation #:disallowed-references, not ok
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:636
- source:
- + (test-assert
- + "derivation #:disallowed-references, not ok"
- + (let* ((txt (add-text-to-store %store "foo" "Hello, world."))
- + (drv (derivation
- + %store
- + "disdisallowed"
- + %bash
- + `("-c" ,(string-append "echo " txt "> $out"))
- + #:inputs
- + `((,%bash) (,txt))
- + #:disallowed-references
- + (list txt))))
- + (guard (c ((nix-protocol-error? c) #t))
- + (build-derivations %store (list drv))
- + #f)))
- actual-value: #t
- result: PASS
- test-name: derivation #:leaked-env-vars
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:651
- source:
- + (test-equal
- + "derivation #:leaked-env-vars"
- + (getenv "NIX_STATE_DIR")
- + (let* ((value (getenv "NIX_STATE_DIR"))
- + (drv (derivation
- + %store
- + "leaked-env-vars"
- + %bash
- + '("-c" "echo -n $NIX_STATE_DIR > $out")
- + #:hash
- + (sha256 (string->utf8 value))
- + #:hash-algo
- + 'sha256
- + #:inputs
- + `((,%bash))
- + #:leaked-env-vars
- + '("NIX_STATE_DIR"))))
- + (and (build-derivations %store (list drv))
- + (call-with-input-file
- + (derivation->output-path drv)
- + get-string-all))))
- expected-value: "/tmp/guix-tests/var/11678"
- actual-value: "/tmp/guix-tests/var/11678"
- result: PASS
- test-name: build derivation with coreutils
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:672
- source:
- + (test-assert
- + "build derivation with coreutils"
- + (let* ((builder
- + (add-text-to-store
- + %store
- + "build-with-coreutils.sh"
- + "echo $PATH ; mkdir --version ; mkdir $out ; touch $out/good"
- + '()))
- + (drv (derivation
- + %store
- + "foo"
- + %bash
- + `(,builder)
- + #:env-vars
- + `(("PATH"
- + unquote
- + (string-append
- + (derivation->output-path %coreutils)
- + @ build-started /tmp/guix-tests/store/9d7mw11w6hmhnzq7ns8fl91plvyyimpj-a.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/9d//7mw11w6hmhnzq7ns8fl91plvyyimpj-a.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/9d7mw11w6hmhnzq7ns8fl91plvyyimpj-a.drv -
- "/bin")))
- + #:inputs
- + `((,builder) (,%coreutils))))
- + (succeeded?
- + (build-derivations %store (list drv))))
- + (and succeeded?
- + (let ((p (derivation->output-path drv)))
- + (and (valid-path? %store p)
- + (file-exists? (string-append p "/good")))))))
- result: SKIP
- test-name: build-expression->derivation and invalid module name
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:695
- source:
- + (test-equal
- + "build-expression->derivation and invalid module name"
- + '(file-search-error
- + "guix/module/that/does/not/exist.scm")
- + (guard (c ((file-search-error? c)
- + (list 'file-search-error
- + (file-search-error-file-name c))))
- + (build-expression->derivation
- + %store
- + "foo"
- + #t
- + #:modules
- + '((guix module that does not exist)))))
- expected-value: (file-search-error "guix/module/that/does/not/exist.scm")
- actual-value: (file-search-error "guix/module/that/does/not/exist.scm")
- result: PASS
- test-name: build-expression->derivation and builder encoding
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:704
- source:
- + (test-equal
- + "build-expression->derivation and builder encoding"
- + '("UTF-8" #t)
- + (let* ((exp '(λ (α) (+ α 1)))
- + (drv (build-expression->derivation %store "foo" exp)))
- + (match (derivation-builder-arguments drv)
- + ((... builder)
- + (with-fluids
- + ((%default-port-encoding "UTF-8"))
- + (call-with-input-file
- + builder
- + (lambda (port)
- + (list (port-encoding port)
- + (->bool
- + (string-contains
- + (get-string-all port)
- + "(λ (α) (+ α 1))"))))))))))
- expected-value: ("UTF-8" #t)
- actual-value: ("UTF-8" #t)
- result: PASS
- test-name: build-expression->derivation and derivation-prerequisites
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:718
- source:
- + (test-assert
- + "build-expression->derivation and derivation-prerequisites"
- + (let ((drv (build-expression->derivation %store "fail" #f)))
- + (any (match-lambda
- + (($ <derivation-input> path)
- + (string=?
- + path
- + (derivation-file-name (%guile-for-build)))))
- + (derivation-prerequisites drv))))
- actual-value: #t
- result: PASS
- test-name: derivation-prerequisites and valid-derivation-input?
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:725
- source:
- + (test-assert
- + "derivation-prerequisites and valid-derivation-input?"
- + (let* ((a (build-expression->derivation
- + %store
- + "a"
- + '(mkdir %output)))
- + (b (build-expression->derivation
- + %store
- + "b"
- + `(list ,(random-text))))
- + (c (build-expression->derivation
- + %store
- + "c"
- + `(mkdir %output)
- + #:inputs
- + `(("a" ,a) ("b" ,b)))))
- + (build-derivations
- + %store
- + (list a
- + (package-derivation %store %bootstrap-guile)))
- + (match (derivation-prerequisites
- + c
- + (cut valid-derivation-input? %store <>))
- + ((($ <derivation-input> file ("out")))
- + (string=? file (derivation-file-name b)))
- + (x (pk 'fail x #f)))))
- actual-value: #t
- result: PASS
- test-name: build-expression->derivation without inputs
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:743
- source:
- + (test-assert
- + "build-expression->derivation without inputs"
- + (let* ((builder
- + '(begin
- + (mkdir %output)
- + (call-with-output-file
- + (string-append %output "/test")
- + (lambda (p) (display '(hello guix) p)))))
- + (drv (@ build-started /tmp/guix-tests/store/siz27i7vk0g1xngsx049p9vrvss9c712-goo.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/si//z27i7vk0g1xngsx049p9vrvss9c712-goo.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/siz27i7vk0g1xngsx049p9vrvss9c712-goo.drv -
- substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- @ build-started /tmp/guix-tests/store/qfl2559affw2jnz43j8c6dx0rjngqns3-silent.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/qf//l2559affw2jnz43j8c6dx0rjngqns3-silent.drv.bz2
- building of `/tmp/guix-tests/store/qfl2559affw2jnz43j8c6dx0rjngqns3-silent.drv' timed out after 1 seconds of silence
- @ build-failed /tmp/guix-tests/store/qfl2559affw2jnz43j8c6dx0rjngqns3-silent.drv - timeout
- killing process 11945
- substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- @ build-started /tmp/guix-tests/store/6d3dbcj98inv78d5abwp41fbis15kvy6-slow.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/6d//3dbcj98inv78d5abwp41fbis15kvy6-slow.drv.bz2
- building of `/tmp/guix-tests/store/6d3dbcj98inv78d5abwp41fbis15kvy6-slow.drv' timed out after 1 seconds
- @ build-failed /tmp/guix-tests/store/6d3dbcj98inv78d5abwp41fbis15kvy6-slow.drv - timeout
- killing process 11959
- @ build-started /tmp/guix-tests/store/cbc4v7vanc01h71qnngr0k35kvvvik9v-input.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/cb//c4v7vanc01h71qnngr0k35kvvvik9v-input.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/cbc4v7vanc01h71qnngr0k35kvvvik9v-input.drv -
- @ build-started /tmp/guix-tests/store/5ykgrvz6nsm8rz51hww0wfb7kj83s5x7-something.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/5y//kgrvz6nsm8rz51hww0wfb7kj83s5x7-something.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/5ykgrvz6nsm8rz51hww0wfb7kj83s5x7-something.drv -
- finding garbage collector roots...
- removing stale temporary roots file `/tmp/guix-tests/var/11678/temproots/11696'
- deleting unused links...
- build-expression->derivation
- + %store
- + "goo"
- + builder))
- + (succeeded?
- + (build-derivations %store (list drv))))
- + (and succeeded?
- + (let ((p (derivation->output-path drv)))
- + (equal?
- + '(hello guix)
- + (call-with-input-file
- + (string-append p "/test")
- + read))))))
- actual-value: #t
- result: PASS
- test-name: build-expression->derivation and max-silent-time
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:756
- source:
- + (test-assert
- + "build-expression->derivation and max-silent-time"
- + (let* ((store (let ((s (open-connection)))
- + (set-build-options s #:max-silent-time 1)
- + s))
- + (builder '(begin (sleep 100) (mkdir %output) #t))
- + (drv (build-expression->derivation
- + store
- + "silent"
- + builder))
- + (out-path (derivation->output-path drv)))
- + (guard (c ((nix-protocol-error? c)
- + (and (string-contains
- + (nix-protocol-error-message c)
- + "failed")
- + (not (valid-path? store out-path)))))
- + (build-derivations store (list drv))
- + #f)))
- actual-value: #t
- result: PASS
- test-name: build-expression->derivation and timeout
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:770
- source:
- + (test-assert
- + "build-expression->derivation and timeout"
- + (let* ((store (let ((s (open-connection)))
- + (set-build-options s #:timeout 1)
- + s))
- + (builder '(begin (sleep 100) (mkdir %output) #t))
- + (drv (build-expression->derivation
- + store
- + "slow"
- + builder))
- + (out-path (derivation->output-path drv)))
- + (guard (c ((nix-protocol-error? c)
- + (and (string-contains
- + (nix-protocol-error-message c)
- + "failed")
- + (not (valid-path? store out-path)))))
- + (build-derivations store (list drv))
- + #f)))
- actual-value: #t
- result: PASS
- test-name: build-expression->derivation and derivation-prerequisites-to-build
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:784
- source:
- + (test-assert
- + "build-expression->derivation and derivation-prerequisites-to-build"
- + (let ((drv (build-expression->derivation %store "fail" #f)))
- + (null? (derivation-prerequisites-to-build %store drv))))
- actual-value: #t
- result: PASS
- test-name: derivation-prerequisites-to-build when outputs already present
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:790
- source:
- + (test-assert
- + "derivation-prerequisites-to-build when outputs already present"
- + (let* ((builder '(begin (mkdir %output) #t))
- + (input-drv
- + (build-expression->derivation
- + %store
- + "input"
- + builder))
- + (input-path
- + (derivation-output-path
- + (assoc-ref (derivation-outputs input-drv) "out")))
- + (drv (build-expression->derivation
- + %store
- + "something"
- + builder
- + #:inputs
- + `(("i" ,input-drv))))
- + (output (derivation->output-path drv)))
- + (when (valid-path? %store input-path)
- + (delete-paths %store (list input-path)))
- + (when (valid-path? %store output)
- + (delete-paths %store (list output)))
- + (and (equal?
- + (map derivation-input-path
- + (derivation-prerequisites-to-build %store drv))
- + (list (derivation-file-name input-drv)))
- + (build-derivations %store (list drv))
- + (delete-paths %store (list input-path))
- + (not (valid-path? %store input-path))
- + (null? (derivation-prerequisites-to-build %store drv)))))
- actual-value: #t
- result: PASS
- test-name: substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- derivation-prerequisites-to-build and substitutes
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:819
- source:
- + (test-assert
- + "derivation-prerequisites-to-build and substitutes"
- + (let* ((store (open-connection))
- + (drv (build-expression->derivation
- + store
- + "prereq-subst"
- + (random 1000)))
- + (output (derivation->output-path drv)))
- + (set-build-options
- + store
- + #:use-substitutes?
- + #t
- + #:substitute-urls
- + (%test-substitute-urls))
- + (with-derivation-narinfo
- + drv
- + (let-values
- + (((build download)
- + (derivation-prerequisites-to-build store drv))
- + ((build* download*)
- + (derivation-prerequisites-to-build
- + store
- + drv
- + #:substitutable?
- + (const #f))))
- + (and (null? build)
- + (equal? download (list output))
- + (null? download*)
- + (null? build*))))))
- actual-value: #t
- result: PASS
- test-name: derivation-prerequisites-to-build and substitutes, non-substitutable build
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:841
- source:
- + (test-assert
- + "derivation-prerequisites-to-build and substitutes, non-substitutable build"
- + (let* ((store (open-connection))
- + (drv (build-expression->derivation
- + store
- + "prereq-no-subst"
- + (random 1000)
- + #:substitutable?
- + #f))
- + (output (derivation->output-path drv)))
- + (set-build-options
- + store
- + #:use-substitutes?
- + #t
- + #:substitute-urls
- + (%test-substitute-urls))
- + (with-derivation-narinfo
- + drv
- + (let-values
- + (((build download)
- + (derivation-prerequisites-to-build store drv)))
- + (and (null? download)
- + (match build
- + (((? derivation-input? input))
- + (string=?
- + (derivation-input-path input)
- + (derivation-file-name drv)))))))))
- actual-value: #t
- result: PASS
- test-name: derivation-prerequisites-to-build and substitutes, local build
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:863
- source:
- + (test-assert
- + "derivation-prerequisites-to-build and substitutes, local build"
- + (with-store
- + store
- + (let* ((drv (build-expression->derivation
- + store
- + "prereq-subst-local"
- + (random 1000)
- + #:local-build?
- + #t))
- + (output (derivation->output-path drv)))
- + (set-build-options
- + store
- + #:use-substitutes?
- + #t
- + #:substitute-urls
- + (%test-substitute-urls))
- + (with-derivation-narinfo
- + drv
- + (let-values
- + (((build download)
- + (derivation-prerequisites-to-build store drv)))
- + (and (null? build)
- + (match download
- + (((? string? item))
- + (string=? item (derivation->output-path drv))))))))))
- actual-value: #t
- result: PASS
- test-name: derivation-prerequisites-to-build in 'check' mode
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:885
- source:
- + (test-assert
- + "derivation-prerequisites-to-build in 'check' mode"
- + (with-store
- + store
- + (let* ((dep (build-expression->derivation
- + store
- + "dep"
- + `(begin ,(random-text) (mkdir %output))))
- + (drv (build-expression->derivation
- + store
- + "to-check"
- + '(mkdir %output)
- + #:inputs
- + `(("dep" ,dep)))))
- + (build-derivations store (list drv))
- + (delete-paths
- + store
- + (list (derivation->output-path dep)))
- + (and (null? (derivation-prerequisites-to-build store drv))
- + (match (substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- building path(s) `/tmp/guix-tests/store/0qkhy40mh59all8jx9v72ywpjlivjjwj-dep'
- building path(s) `/tmp/guix-tests/store/nak33yc70xvmanh7yy1swx9hv5n119l4-to-check'
- finding garbage collector roots...
- removing stale temporary roots file `/tmp/guix-tests/var/11678/temproots/11989'
- removing stale temporary roots file `/tmp/guix-tests/var/11678/temproots/.fuse_hidden0000f99a0000237f'
- deleting `/tmp/guix-tests/store/0qkhy40mh59all8jx9v72ywpjlivjjwj-dep'
- deleting `/tmp/guix-tests/store/trash'
- deleting unused links...
- note: currently hard linking saves 0.14 MiB
- @ build-started /tmp/guix-tests/store/kvz3csrwpha43pk3mvhwsrzw2yz5qviv-fail.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/kv//z3csrwpha43pk3mvhwsrzw2yz5qviv-fail.drv.bz2
- builder for `/tmp/guix-tests/store/kvz3csrwpha43pk3mvhwsrzw2yz5qviv-fail.drv' failed with exit code 1
- @ build-failed /tmp/guix-tests/store/kvz3csrwpha43pk3mvhwsrzw2yz5qviv-fail.drv - 1 builder for `/tmp/guix-tests/store/kvz3csrwpha43pk3mvhwsrzw2yz5qviv-fail.drv' failed with exit code 1
- @ build-started /tmp/guix-tests/store/v3d6ak4h46illn6yqkid6fsid3i749yy-double.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/v3//d6ak4h46illn6yqkid6fsid3i749yy-double.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/v3d6ak4h46illn6yqkid6fsid3i749yy-double.drv -
- derivation-prerequisites-to-build
- + store
- + drv
- + #:mode
- + (build-mode check))
- + ((input)
- + (string=?
- + (derivation-input-path input)
- + (derivation-file-name dep))))))))
- actual-value: #t
- result: PASS
- test-name: substitution-oracle and #:substitute? #f
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:905
- source:
- + (test-assert
- + "substitution-oracle and #:substitute? #f"
- + (with-store
- + store
- + (let* ((dep (build-expression->derivation
- + store
- + "dep"
- + `(begin ,(random-text) (mkdir %output))))
- + (drv (build-expression->derivation
- + store
- + "not-subst"
- + `(begin ,(random-text) (mkdir %output))
- + #:substitutable?
- + #f
- + #:inputs
- + `(("dep" ,dep))))
- + (query #f))
- + (define (record-substitutable-path-query store paths)
- + (when query (error "already called!" query))
- + (set! query paths)
- + '())
- + (mock ((guix store)
- + substitutable-paths
- + record-substitutable-path-query)
- + (let ((pred (substitution-oracle store (list drv))))
- + (pred (derivation->output-path drv))))
- + (equal?
- + (pk 'query query)
- + (list (derivation->output-path dep))))))
- ;;; (query ("/tmp/guix-tests/store/93m3pmns6b2f5pmvkmrbcz3wjf8mncpg-dep"))
- actual-value: #t
- result: PASS
- test-name: build-expression->derivation with expression returning #f
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:934
- source:
- + (test-assert
- + "build-expression->derivation with expression returning #f"
- + (let* ((builder '(begin (mkdir %output) #f))
- + (drv (build-expression->derivation
- + %store
- + "fail"
- + builder))
- + (out-path (derivation->output-path drv)))
- + (guard (c ((nix-protocol-error? c)
- + (and (string-match
- + "build .* failed"
- + (nix-protocol-error-message c))
- + (not (valid-path? %store out-path)))))
- + (build-derivations %store (list drv))
- + #f)))
- actual-value: #t
- result: PASS
- test-name: build-expression->derivation with two outputs
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:949
- source:
- + (test-assert
- + "build-expression->derivation with two outputs"
- + (let* ((builder
- + '(begin
- + (call-with-output-file
- + (assoc-ref %outputs "out")
- + (lambda (p) (display '(hello) p)))
- + (call-with-output-file
- + (assoc-ref %outputs "second")
- + (lambda (p) (display '(world) p)))))
- + (drv (build-expression->derivation
- + %store
- + "double"
- + builder
- + #:outputs
- + '("out" "second")))
- + (succeeded?
- + (build-derivations %store (list drv))))
- + (and succeeded?
- + (let ((one (derivation->output-path drv))
- + (two (derivation->output-path drv "second")))
- + (and (equal? '(hello) (call-with-input-file one read))
- + (equal? '(world) (call-with-input-file two read)))))))
- actual-value: #t
- result: PASS
- test-name: build-expression->derivation with one input
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:968
- source:
- + (test-assert
- + "build-expression->derivation with one input"
- + (let* ((builder
- + '(call-with-output-file
- + %output
- + (lambda (p)
- + (let ((cu (assoc-ref %build-inputs "cu")))
- + (close 1)
- + (dup2 (port->fdes p) 1)
- + (execl (string-append cu "/bin/uname")
- + @ build-started /tmp/guix-tests/store/vs63w833h9dn987d6j80x9nggmjhjj6n-module-import.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/vs//63w833h9dn987d6j80x9nggmjhjj6n-module-import.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/vs63w833h9dn987d6j80x9nggmjhjj6n-module-import.drv -
- @ build-started /tmp/guix-tests/store/9xp57zkgn9n85i77xd2975k2lh6hlxrl-module-import-compiled.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/9x//p57zkgn9n85i77xd2975k2lh6hlxrl-module-import-compiled.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/9xp57zkgn9n85i77xd2975k2lh6hlxrl-module-import-compiled.drv -
- @ build-started /tmp/guix-tests/store/yz1m0dxzg68vryd8yra1fiaxlni4ppfp-test-with-modules.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/yz//1m0dxzg68vryd8yra1fiaxlni4ppfp-test-with-modules.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/yz1m0dxzg68vryd8yra1fiaxlni4ppfp-test-with-modules.drv -
- "uname"
- + "-a")))))
- + (drv (build-expression->derivation
- + %store
- + "uname"
- + builder
- + #:inputs
- + `(("cu" ,%coreutils))))
- + (succeeded?
- + (build-derivations %store (list drv))))
- + (and succeeded?
- + (let ((p (derivation->output-path drv)))
- + (string-contains
- + (call-with-input-file p read-line)
- + "GNU")))))
- result: SKIP
- test-name: build-expression->derivation with modules
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:984
- source:
- + (test-assert
- + "build-expression->derivation with modules"
- + (let* ((builder
- + `(begin
- + (use-modules (guix build utils))
- + (let ((out (assoc-ref %outputs "out")))
- + (mkdir-p (string-append out "/guile/guix/nix"))
- + #t)))
- + (drv (build-expression->derivation
- + %store
- + "test-with-modules"
- + builder
- + #:modules
- + '((guix build utils)))))
- + (and (build-derivations %store (list drv))
- + (let* ((p (derivation->output-path drv))
- + (s (stat (string-append p "/guile/guix/nix"))))
- + (eq? (stat:type s) 'directory)))))
- actual-value: #t
- result: PASS
- test-name: build-expression->derivation: same fixed-output path
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:999
- source:
- + (test-assert
- + "build-expression->derivation: same fixed-output path"
- + (let* ((builder1
- + '(call-with-output-file
- + %output
- + (lambda (p) (write "hello" p))))
- + (builder2
- + '(call-with-output-file
- + (pk 'difference-here! %output)
- + (lambda (p) (write "hello" p))))
- + (hash (sha256 (string->utf8 "hello")))
- + (input1
- + (build-expression->derivation
- + %store
- + "fixed"
- + builder1
- + #:hash
- + hash
- + #:hash-algo
- + 'sha256))
- + (input2
- + (build-expression->derivation
- + %store
- + "fixed"
- + builder2
- + #:hash
- + hash
- + #:hash-algo
- + 'sha256))
- + (succeeded?
- + (build-derivations %store (list input1 input2))))
- + (and succeeded?
- + (not (string=?
- + (derivation-file-name input1)
- + (derivation-file-name input2)))
- + (string=?
- + (derivation->output-path input1)
- + (derivation->output-path input2)))))
- actual-value: #t
- result: PASS
- test-name: build-expression->derivation with a fixed-output input
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:1020
- source:
- + (test-assert
- + "build-expression->derivation with a fixed-output input"
- + (let* ((builder1
- + '(call-with-output-file
- + %output
- + (lambda (p) (write "hello" p))))
- + (builder2
- + '(call-with-output-file
- + (pk 'difference-here! %output)
- + (lambda (p) (write "hello" p))))
- + (hash (sha256 (string->utf8 "hello")))
- + (input1
- + (build-expression->derivation
- + %store
- + "fixed"
- + builder1
- + #:hash
- + hash
- + #:hash-algo
- + 'sha256))
- + (input2
- + (build-expression->derivation
- + %store
- + "fixed"
- + builder2
- + #:hash
- + hash
- + #:hash-algo
- + 'sha256))
- + (builder3
- + '(let ((input (assoc-ref %build-inputs "input")))
- + (call-with-output-file
- + %output
- + (lambda (out)
- + (format #f "My input is ~a.~%" input)))))
- + (final1
- + (@ build-started /tmp/guix-tests/store/8dkhnfprkjn6p5hh6abjbvhcypif1djn-final.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/8d//khnfprkjn6p5hh6abjbvhcypif1djn-final.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/8dkhnfprkjn6p5hh6abjbvhcypif1djn-final.drv -
- @ build-started /tmp/guix-tests/store/q9ml6iwz4b8jffgd6l3jkllm0lm9g7aw-fixed-rec.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/q9//ml6iwz4b8jffgd6l3jkllm0lm9g7aw-fixed-rec.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/q9ml6iwz4b8jffgd6l3jkllm0lm9g7aw-fixed-rec.drv -
- @ build-started /tmp/guix-tests/store/9a2z4zz7sraa065z4fa12g9sg6mlhkj5-small-fixed-rec.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/9a//2z4zz7sraa065z4fa12g9sg6mlhkj5-small-fixed-rec.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/9a2z4zz7sraa065z4fa12g9sg6mlhkj5-small-fixed-rec.drv -
- @ build-started /tmp/guix-tests/store/aakag457jih22azd1mkhcvnlnv9115ky-fixed-rec-user.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/aa//kag457jih22azd1mkhcvnlnv9115ky-fixed-rec-user.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/aakag457jih22azd1mkhcvnlnv9115ky-fixed-rec-user.drv -
- build-expression->derivation
- + %store
- + "final"
- + builder3
- + #:inputs
- + `(("input" ,input1))))
- + (final2
- + (build-expression->derivation
- + %store
- + "final"
- + builder3
- + #:inputs
- + `(("input" ,input2)))))
- + (and (string=?
- + (derivation->output-path final1)
- + (derivation->output-path final2))
- + (string=?
- + (derivation->output-path final1)
- + (derivation-path->output-path
- + (derivation-file-name final1)))
- + (build-derivations %store (list final1 final2)))))
- actual-value: #t
- result: PASS
- test-name: build-expression->derivation produces recursive fixed-output
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:1051
- source:
- + (test-assert
- + "build-expression->derivation produces recursive fixed-output"
- + (let* ((builder
- + '(begin
- + (use-modules (srfi srfi-26))
- + (mkdir %output)
- + (chdir %output)
- + (call-with-output-file
- + "exe"
- + (cut display "executable" <>))
- + (chmod "exe" 511)
- + (symlink "exe" "symlink")
- + (mkdir "subdir")))
- + (drv (build-expression->derivation
- + %store
- + "fixed-rec"
- + builder
- + #:hash-algo
- + 'sha256
- + #:hash
- + (base32
- + "10k1lw41wyrjf9mxydi0is5nkpynlsvgslinics4ppir13g7d74p")
- + #:recursive?
- + #t)))
- + (and (build-derivations %store (list drv))
- + (let* ((dir (derivation->output-path drv))
- + (exe (string-append dir "/exe"))
- + (link (string-append dir "/symlink"))
- + (subdir (string-append dir "/subdir")))
- + (and (executable-file? exe)
- + (string=?
- + "executable"
- + (call-with-input-file exe get-string-all))
- + (string=? "exe" (readlink link))
- + (file-is-directory? subdir))))))
- actual-value: #t
- result: PASS
- test-name: build-expression->derivation uses recursive fixed-output
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:1077
- source:
- + (test-assert
- + "build-expression->derivation uses recursive fixed-output"
- + (let* ((builder
- + '(call-with-output-file
- + %output
- + (lambda (port) (display "hello" port))))
- + (fixed (build-expression->derivation
- + %store
- + "small-fixed-rec"
- + builder
- + #:hash-algo
- + 'sha256
- + #:hash
- + (base32
- + "0sg9f58l1jj88w6pdrfdpj5x9b1zrwszk84j81zvby36q9whhhqa")
- + #:recursive?
- + #t))
- + (in (derivation->output-path fixed))
- + (builder
- + `(begin
- + (mkdir %output)
- + (chdir %output)
- + (symlink ,in "symlink")))
- + (drv (build-expression->derivation
- + %store
- + "fixed-rec-user"
- + builder
- + #:inputs
- + `(("fixed" ,fixed)))))
- + (and (build-derivations %store (list drv))
- + (let ((out (derivation->output-path drv)))
- + (string=?
- + (readlink (string-append out "/symlink"))
- + in)))))
- actual-value: #t
- result: PASS
- test-name: build-expression->derivation with #:references-graphs
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:1099
- source:
- + (test-assert
- + "build-expression->derivation with #:references-graphs"
- + (let* ((input (add-text-to-store
- + %store
- + "foo"
- + "hello"
- + (list %bash %mkdir)))
- + (builder '(copy-file "input" %output))
- + @ build-started /tmp/guix-tests/store/33xr95dfil5qna3dxlzlzyvrlw9nycn0-references-graphs.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/33//xr95dfil5qna3dxlzlzyvrlw9nycn0-references-graphs.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/33xr95dfil5qna3dxlzlzyvrlw9nycn0-references-graphs.drv -
- @ build-started /tmp/guix-tests/store/ajqc0l1rbgd83hdid7ain2wr0wiwvvh4-original-drv2.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/aj//qc0l1rbgd83hdid7ain2wr0wiwvvh4-original-drv2.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/ajqc0l1rbgd83hdid7ain2wr0wiwvvh4-original-drv2.drv -
- @ build-started /tmp/guix-tests/store/vks5g20fjlmi5daip35rrd34869fnql9-drv-to-remap.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/vk//s5g20fjlmi5daip35rrd34869fnql9-drv-to-remap.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/vks5g20fjlmi5daip35rrd34869fnql9-drv-to-remap.drv -
- (drv (build-expression->derivation
- + %store
- + "references-graphs"
- + builder
- + #:references-graphs
- + `(("input" unquote input))))
- + (out (derivation->output-path drv)))
- + (define (deps path . deps)
- + (let ((count (length deps)))
- + (string-append
- + path
- + "\n\n"
- + (number->string count)
- + "\n"
- + (string-join (sort deps string<?) "\n")
- + (if (zero? count) "" "\n"))))
- + (and (build-derivations %store (list drv))
- + (equal?
- + (call-with-input-file out get-string-all)
- + (string-concatenate
- + (map cdr
- + (sort (map (lambda (p d) (cons p (apply deps p d)))
- + (list input %bash %mkdir)
- + (list (list %bash %mkdir) '() '()))
- + (lambda (x y)
- + (match x
- + ((p1 . _)
- + (match y
- + ((p2 . _)
- + (string<? p1 p2)))))))))))))
- actual-value: #t
- result: PASS
- test-name: map-derivation
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:1130
- source:
- + (test-equal
- + "map-derivation"
- + "hello"
- + (let* ((joke (package-derivation %store guile-1.8))
- + (good (package-derivation %store %bootstrap-guile))
- + (drv1 (build-expression->derivation
- + %store
- + "original-drv1"
- + #f
- + #:guile-for-build
- + joke))
- + (drv2 (build-expression->derivation
- + %store
- + "original-drv2"
- + '(call-with-output-file
- + %output
- + (lambda (p) (display "hello" p)))))
- + (drv3 (build-expression->derivation
- + %store
- + "drv-to-remap"
- + '(let ((in (assoc-ref %build-inputs "in")))
- + (copy-file in %output))
- + #:inputs
- + `(("in" ,drv1))
- + #:guile-for-build
- + joke))
- + (drv4 (map-derivation
- + %store
- + drv3
- + `((,drv1 unquote drv2) (,joke unquote good))))
- + (out (derivation->output-path drv4)))
- + (and (build-derivations
- + %store
- + (list (pk 'remapped drv4)))
- + (call-with-input-file out get-string-all))))
- ;;; (remapped #<derivation /tmp/guix-tests/store/vks5g20fjlmi5daip35rrd34869fnql9-drv-to-remap.drv => /tmp/guix-tests/store/f8prvykpaplzl0gw9qykipviq3vil9ws-drv-to-remap 223ff00>)
- expected-value: "hello"
- actual-value: "hello"
- result: PASS
- test-name: map-derivation, sources
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/derivations.scm:1153
- source:
- + (test-equal
- + "map-derivation, sources"
- + "hello"
- + (let* ((script1
- + (add-text-to-store %store "fail.sh" "exit 1"))
- + (script2
- + (add-text-to-store
- + %store
- + "hi.sh"
- + "echo -n hello > $out"))
- + (bash-full
- + (package-derivation
- + %store
- + (@ (gnu packages bash) bash)))
- + (drv1 (derivation
- + %store
- + "drv-to-remap"
- + (derivation->output-path bash-full)
- + `("-e" ,script1)
- + #:inputs
- + `((,bash-full) (,script1))))
- + (drv2 (map-derivation
- + %store
- + drv1
- + `((,bash-full unquote %bash)
- + (,script1 unquote script2))))
- + (out (derivation->output-path drv2)))
- + (and (build-derivations
- + %store
- + (list (pk 'remapped* drv2)))
- + (call-with-input-file out get-string-all))))
- ;;; (remapped* #<derivation @ build-started /tmp/guix-tests/store/3b1r9qvgpcami02g66iqgnbfm3xxsx95-drv-to-remap.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/3b//1r9qvgpcami02g66iqgnbfm3xxsx95-drv-to-remap.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/3b1r9qvgpcami02g66iqgnbfm3xxsx95-drv-to-remap.drv -
- /tmp/guix-tests/store/3b1r9qvgpcami02g66iqgnbfm3xxsx95-drv-to-remap.drv => /tmp/guix-tests/store/d16rf6zch2w23cn1v1gm8r3w12pc7y2m-drv-to-remap 23b6190>)
- expected-value: "hello"
- actual-value: "hello"
- result: PASS
- SKIP: tests/packages
- ====================
- test-name: printer with location
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:69
- source:
- + (test-assert
- + "printer with location"
- + (string-match
- + "^#<package foo@0 foo.scm:42 [[:xdigit:]]+>$"
- + (with-output-to-string
- + (lambda ()
- + (write (dummy-package
- + "foo"
- + (location (make-location "foo.scm" 42 7))))))))
- actual-value: #("#<package foo@0 foo.scm:42 1938000>" (0 . 35))
- result: PASS
- test-name: printer without location
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:77
- source:
- + (test-assert
- + "printer without location"
- + (string-match
- + "^#<package foo@0 [[:xdigit:]]+>$"
- + (with-output-to-string
- + (lambda ()
- + (write (dummy-package "foo" (location #f)))))))
- actual-value: #("#<package foo@0 1a2ce40>" (0 . 24))
- result: PASS
- test-name: hidden-package
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:84
- source:
- + (test-assert
- + "hidden-package"
- + (and (hidden-package?
- + (hidden-package (dummy-package "foo")))
- + (not (hidden-package? (dummy-package "foo")))))
- actual-value: #t
- result: PASS
- test-name: package-superseded
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:88
- source:
- + (test-assert
- + "package-superseded"
- + (let* ((new (dummy-package "bar"))
- + (old (deprecated-package "foo" new)))
- + (and (eq? (package-superseded old) new)
- + (mock ((gnu packages)
- + find-best-packages-by-name
- + (const (list old)))
- + (specification->package "foo")
- + (and (eq? new (specification->package "foo"))
- + (eq? new (specification->package+output "foo")))))))
- actual-value: #t
- result: PASS
- test-name: transaction-upgrade-entry, zero upgrades
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:97
- source:
- + (test-assert
- + "transaction-upgrade-entry, zero upgrades"
- + (let* ((old (dummy-package "foo" (version "1")))
- + (tx (mock ((gnu packages)
- + find-newest-available-packages
- + (const vlist-null))
- + ((@@ (guix scripts package)
- + transaction-upgrade-entry)
- + (manifest-entry
- + (inherit (package->manifest-entry old))
- + (item (string-append
- + (%store-prefix)
- + "/"
- + (make-string 32 #\e)
- + "-foo-1")))
- + (manifest-transaction)))))
- + (manifest-transaction-null? tx)))
- actual-value: #t
- result: PASS
- test-name: transaction-upgrade-entry, one upgrade
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:109
- source:
- + (test-assert
- + "transaction-upgrade-entry, one upgrade"
- + (let* ((old (dummy-package "foo" (version "1")))
- + (new (dummy-package "foo" (version "2")))
- + (tx (mock ((gnu packages)
- + find-newest-available-packages
- + (const (vhash-cons "foo" (list "2" new) vlist-null)))
- + ((@@ (guix scripts package)
- + transaction-upgrade-entry)
- + (manifest-entry
- + (inherit (package->manifest-entry old))
- + (item (string-append
- + (%store-prefix)
- + "/"
- + (make-string 32 #\e)
- + "-foo-1")))
- + (manifest-transaction)))))
- + (and (match (manifest-transaction-install tx)
- + ((($ <manifest-entry> "foo" "2" "out" item))
- + (eq? item new)))
- + (null? (manifest-transaction-remove tx)))))
- actual-value: #t
- result: PASS
- test-name: transaction-upgrade-entry, superseded package
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:125
- source:
- + (test-assert
- + "transaction-upgrade-entry, superseded package"
- + (let* ((old (dummy-package "foo" (version "1")))
- + (new (dummy-package "bar" (version "2")))
- + (dep (deprecated-package "foo" new))
- + (tx (mock ((gnu packages)
- + find-newest-available-packages
- + (const (vhash-cons "foo" (list "2" dep) vlist-null)))
- + ((@@ (guix scripts package)
- + transaction-upgrade-entry)
- + (manifest-entry
- + (inherit (package->manifest-entry old))
- + (item (string-append
- + (%store-prefix)
- + "/"
- + (make-string 32 #\e)
- + "-foo-1")))
- + (manifest-transaction)))))
- + (and (match (manifest-transaction-install tx)
- + ((($ <manifest-entry> "bar" "2" "out" item))
- + (eq? item new)))
- + (match (manifest-transaction-remove tx)
- + (((? manifest-pattern? pattern))
- + (and (string=? (manifest-pattern-name pattern) "foo")
- + (string=? (manifest-pattern-version pattern) "1")
- + (string=?
- + (manifest-pattern-output pattern)
- + "out")))))))
- actual-value: #t
- result: PASS
- test-name: package-field-location
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:146
- source:
- + (test-assert
- + "package-field-location"
- + (let ()
- + (define (goto port line column)
- + (unless
- + (and (= (port-column port) (- column 1))
- + (= (port-line port) (- line 1)))
- + (unless
- + (eof-object? (get-char port))
- + (goto port line column))))
- + (define read-at
- + (match-lambda
- + (($ <location> file line column)
- + (call-with-input-file
- + (search-path %load-path file)
- + (lambda (port)
- + (goto port line column)
- + (read port))))))
- + (and (member
- + (read-at
- + (package-field-location %bootstrap-guile 'name))
- + (let ((name (package-name %bootstrap-guile)))
- + (list name `(name ,name))))
- + (member
- + (read-at
- + (package-field-location
- + %bootstrap-guile
- + 'version))
- + (let ((version (package-version %bootstrap-guile)))
- + (list version `(version ,version))))
- + (not (package-field-location
- + %bootstrap-guile
- + 'does-not-exist)))))
- actual-value: #t
- result: PASS
- test-name: package-field-location, relative file name
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:173
- source:
- + (test-equal
- + "package-field-location, relative file name"
- + (location-file
- + (package-location %bootstrap-guile))
- + (with-fluids
- + ((%file-port-name-canonicalization 'absolute))
- + (location-file
- + (package-field-location
- + %bootstrap-guile
- + 'version))))
- expected-value: "gnu/packages/bootstrap.scm"
- actual-value: "gnu/packages/bootstrap.scm"
- result: PASS
- test-name: package-transitive-inputs
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:178
- source:
- + (test-assert
- + "package-transitive-inputs"
- + (let* ((a (dummy-package "a"))
- + (b (dummy-package
- + "b"
- + (propagated-inputs `(("a" ,a)))))
- + (c (dummy-package "c" (inputs `(("a" ,a)))))
- + (d (dummy-package
- + "d"
- + (propagated-inputs `(("x" "something.drv")))))
- + (e (dummy-package
- + "e"
- + (inputs `(("b" ,b) ("c" ,c) ("d" ,d))))))
- + (and (null? (package-transitive-inputs a))
- + (equal?
- + `(("a" ,a))
- + (package-transitive-inputs b))
- + (equal?
- + `(("a" ,a))
- + (package-transitive-inputs c))
- + (equal?
- + (package-propagated-inputs d)
- + (package-transitive-inputs d))
- + (equal?
- + `(("b" ,b)
- + ("c" ,c)
- + ("d" ,d)
- + ("a" ,a)
- + ("x" "something.drv"))
- + (pk 'x (package-transitive-inputs e))))))
- ;;; (x (("b" #<package b@0 /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:180 10eaa80>) ("c" #<package c@0 /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:182 10ea900>) ("d" #<package d@0 /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:184 10ea780>) ("a" #<package a@0 /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:179 10eac00>) ("x" "something.drv")))
- actual-value: #t
- result: PASS
- test-name: package-transitive-inputs, no duplicates
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:197
- source:
- + (test-assert
- + "package-transitive-inputs, no duplicates"
- + (let* ((a (dummy-package "a"))
- + (b (dummy-package
- + "b"
- + (inputs `(("a+" ,a)))
- + (native-inputs `(("a*" ,a)))
- + (propagated-inputs `(("a" ,a)))))
- + (c (dummy-package
- + "c"
- + (propagated-inputs `(("b" ,b)))))
- + (d (dummy-package "d" (inputs `(("a" ,a) ("c" ,c)))))
- + (e (dummy-package "e" (inputs `(("b" ,b) ("c" ,c))))))
- + (and (null? (package-transitive-inputs a))
- + (equal?
- + `(("a*" ,a) ("a+" ,a) ("a" ,a))
- + (package-transitive-inputs b))
- + (equal?
- + `(("b" ,b) ("a" ,a))
- + (package-transitive-inputs c))
- + (equal?
- + `(("a" ,a) ("c" ,c) ("b" ,b))
- + (package-transitive-inputs d))
- + (equal?
- + `(("b" ,b) ("c" ,c) ("a" ,a))
- + (package-transitive-inputs e)))))
- actual-value: #t
- result: PASS
- test-name: package-transitive-supported-systems
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:219
- source:
- + (test-equal
- + "package-transitive-supported-systems"
- + '(("x" "y" "z") ("x" "y") ("y") ("y") ("y"))
- + (let* ((a (dummy-package
- + "a"
- + (build-system trivial-build-system)
- + (supported-systems '("x" "y" "z"))))
- + (b (dummy-package
- + "b"
- + (build-system trivial-build-system)
- + (supported-systems '("x" "y"))
- + (inputs `(("a" ,a)))))
- + (c (dummy-package
- + "c"
- + (build-system trivial-build-system)
- + (supported-systems '("y" "z"))
- + (inputs `(("b" ,b)))))
- + (d (dummy-package
- + "d"
- + (build-system trivial-build-system)
- + (supported-systems '("x" "y" "z"))
- + (inputs `(("b" ,b) ("c" ,c)))))
- + (e (dummy-package
- + "e"
- + (build-system trivial-build-system)
- + (supported-systems '("x" "y" "z"))
- + (inputs `(("d" ,d))))))
- + (list (package-transitive-supported-systems a)
- + (package-transitive-supported-systems b)
- + (package-transitive-supported-systems c)
- + (package-transitive-supported-systems d)
- + (package-transitive-supported-systems e))))
- expected-value: (("x" "y" "z") ("x" "y") ("y") ("y") ("y"))
- actual-value: (("x" "y" "z") ("x" "y") ("y") ("y") ("y"))
- result: PASS
- test-name: origin-actual-file-name
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:252
- source:
- + (test-equal
- + "origin-actual-file-name"
- + "foo-1.tar.gz"
- + (let ((o (dummy-origin
- + (uri "http://www.example.com/foo-1.tar.gz"))))
- + (origin-actual-file-name o)))
- expected-value: "foo-1.tar.gz"
- actual-value: "foo-1.tar.gz"
- result: PASS
- test-name: origin-actual-file-name, file-name
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:257
- source:
- + (test-equal
- + "origin-actual-file-name, file-name"
- + "foo-1.tar.gz"
- + (let ((o (dummy-origin
- + (uri "http://www.example.com/tarball")
- + (file-name "foo-1.tar.gz"))))
- + (origin-actual-file-name o)))
- expected-value: "foo-1.tar.gz"
- actual-value: "foo-1.tar.gz"
- result: PASS
- test-name: package-direct-sources, no source
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:274
- source:
- + (test-assert
- + "package-direct-sources, no source"
- + (null? (package-direct-sources a)))
- actual-value: #t
- result: PASS
- test-name: package-direct-sources, #f source
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:276
- source:
- + (test-equal
- + "package-direct-sources, #f source"
- + (list i)
- + (package-direct-sources b))
- expected-value: (#<origin "http://www.example.com" xx35467pxx35467pxx35467pxx35467pxx35467pxx35467pxx3q () 18a7360>)
- actual-value: (#<origin "http://www.example.com" xx35467pxx35467pxx35467pxx35467pxx35467pxx35467pxx3q () 18a7360>)
- result: PASS
- test-name: package-direct-sources, not input source
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:279
- source:
- + (test-equal
- + "package-direct-sources, not input source"
- + (list u)
- + (package-direct-sources d))
- expected-value: (#<origin "http://www.example.com" xx35467pxx35467pxx35467pxx35467pxx35467pxx35467pxx3q () 18a7420>)
- actual-value: (#<origin "http://www.example.com" xx35467pxx35467pxx35467pxx35467pxx35467pxx35467pxx3q () 18a7420>)
- result: PASS
- test-name: package-direct-sources
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:282
- source:
- + (test-assert
- + "package-direct-sources"
- + (let ((s (package-direct-sources c)))
- + (and (= (length (pk 's-sources s)) 2)
- + (member o s)
- + (member i s))))
- ;;; (s-sources (#<origin "http://www.example.com" xx35467pxx35467pxx35467pxx35467pxx35467pxx35467pxx3q () 18a74e0> #<origin "http://www.example.com" xx35467pxx35467pxx35467pxx35467pxx35467pxx35467pxx3q () 18a7360>))
- actual-value: (#<origin "http://www.example.com" xx35467pxx35467pxx35467pxx35467pxx35467pxx35467pxx3q () 18a7360>)
- result: PASS
- test-name: package-transitive-sources
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:287
- source:
- + (test-assert
- + "package-transitive-sources"
- + (let ((s (package-transitive-sources d)))
- + (and (= (length (pk 'd-sources s)) 3)
- + (member o s)
- + (member i s)
- + (member u s))))
- ;;; (d-sources (#<origin "http://www.example.com" xx35467pxx35467pxx35467pxx35467pxx35467pxx35467pxx3q () 18a7420> #<origin "http://www.example.com" xx35467pxx35467pxx35467pxx35467pxx35467pxx35467pxx3q () 18a74e0> #<origin "http://www.example.com" xx35467pxx35467pxx35467pxx35467pxx35467pxx35467pxx3q () 18a7360>))
- actual-value: (#<origin "http://www.example.com" xx35467pxx35467pxx35467pxx35467pxx35467pxx35467pxx3q () 18a7420> #<origin "http://www.example.com" xx35467pxx35467pxx35467pxx35467pxx35467pxx35467pxx3q () 18a74e0> #<origin "http://www.example.com" xx35467pxx35467pxx35467pxx35467pxx35467pxx35467pxx3q () 18a7360>)
- result: PASS
- test-name: transitive-input-references
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:294
- source:
- + (test-assert
- + "transitive-input-references"
- + (let* ((a (dummy-package "a"))
- + (b (dummy-package "b"))
- + (c (dummy-package
- + "c"
- + (inputs `(("a" ,a)))
- + (propagated-inputs `(("boo" ,b)))))
- + (d (dummy-package "d" (inputs `(("c*" ,c)))))
- + (keys (map (match-lambda (('assoc-ref 'l key) key))
- + (pk 'refs
- + (transitive-input-references
- + 'l
- + (package-inputs d))))))
- + (and (= (length keys) 2)
- + (member "c*" keys)
- + (member "boo" keys))))
- ;;; (refs ((assoc-ref l "c*") (assoc-ref l "boo")))
- actual-value: ("boo")
- result: PASS
- test-name: package-transitive-supported-systems, implicit inputs
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:311
- source:
- + (test-equal
- + "package-transitive-supported-systems, implicit inputs"
- + %supported-systems
- + (let ((p (dummy-package
- + "foo"
- + (build-system gnu-build-system)
- + (supported-systems
- + `("does-not-exist" "foobar" ,@%supported-systems)))))
- + (package-transitive-supported-systems p)))
- expected-value: ("x86_64-linux" "i686-linux" "armhf-linux" "mips64el-linux")
- actual-value: ("x86_64-linux" "i686-linux" "armhf-linux" "mips64el-linux")
- result: PASS
- test-name: supported-package?
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:322
- source:
- + (test-assert
- + "supported-package?"
- + (let ((p (dummy-package
- + "foo"
- + (build-system gnu-build-system)
- + (supported-systems
- + '("x86_64-linux" "does-not-exist")))))
- + (and (supported-package? p "x86_64-linux")
- + (not (supported-package? p "does-not-exist"))
- + (not (supported-package? p "i686-linux")))))
- actual-value: #t
- result: PASS
- test-name: package-source-derivation, file
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:332
- source:
- + (test-assert
- + "package-source-derivation, file"
- + (let* ((file (search-path %load-path "guix.scm"))
- + (package
- + (package
- + (inherit (dummy-package "p"))
- + (source file)))
- + (source
- + (package-source-derivation
- + %store
- + (package-source package))))
- + (and (store-path? source)
- + (valid-path? %store source)
- + (equal?
- + (call-with-input-file source get-bytevector-all)
- + (call-with-input-file file get-bytevector-all)))))
- actual-value: #t
- result: PASS
- test-name: package-source-derivation, store path
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:343
- source:
- + (test-assert
- + "package-source-derivation, store path"
- + (let* ((file (add-to-store
- + %store
- + "guix.scm"
- + #t
- + "sha256"
- + (search-path %load-path "guix.scm")))
- + (package
- + (package
- + (inherit (dummy-package "p"))
- + (source file)))
- + (source
- + (package-source-derivation
- + %store
- + (package-source package))))
- + (string=? file source)))
- actual-value: #t
- result: PASS
- test-name: package-source-derivation, indirect store path
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:352
- source:
- + (test-assert
- + "package-source-derivation, indirect store path"
- + (let* ((dir (add-to-store
- + %store
- + "guix-build"
- + #t
- + "sha256"
- + (dirname
- + (search-path %load-path "guix/build/utils.scm"))))
- + (package
- + (package
- + (inherit (dummy-package "p"))
- + (source (string-append dir "/utils.scm"))))
- + (source
- + (package-source-derivation
- + %store
- + (package-source package))))
- + (and (direct-store-path? source)
- + (string-suffix? "utils.scm" source))))
- actual-value: #t
- result: PASS
- test-name: package-source-derivation, local-file
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:363
- source:
- + (test-assert
- + "package-source-derivation, local-file"
- + (let* ((file (local-file "../guix/base32.scm"))
- + (package
- + (package
- + (inherit (dummy-package "p"))
- + (source file)))
- + (source
- + (package-source-derivation
- + %store
- + (package-source package))))
- + (and (store-path? source)
- + (string-suffix? "base32.scm" source)
- + (valid-path? %store source)
- + (equal?
- + (call-with-input-file source get-bytevector-all)
- + (call-with-input-file
- + (search-path %load-path "guix/base32.scm")
- + get-bytevector-all)))))
- actual-value: #t
- result: PASS
- test-name: package-source-derivation, snippet
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:378
- source:
- + (test-equal
- + "package-source-derivation, snippet"
- + "OK"
- + (let* ((file (search-bootstrap-binary
- + (match (%current-system)
- + ("armhf-linux" "guile-2.0.11.tar.xz")
- + ("aarch64-linux" "guile-2.0.14.tar.xz")
- + (_ "guile-2.0.9.tar.xz"))
- + (%current-system)))
- + (sha256 (call-with-input-file file port-sha256))
- + (fetch (lambda* (url hash-algo hash #:optional name #:key system)
- + (pk 'fetch url hash-algo hash name system)
- + (interned-file url)))
- + (source
- + (bootstrap-origin
- + (origin
- + (method fetch)
- + (uri file)
- + (sha256 sha256)
- + (patch-inputs
- + `(("tar" ,%bootstrap-coreutils&co)
- + ("xz" ,%bootstrap-coreutils&co)
- + ("patch" ,%bootstrap-coreutils&co)))
- + (patch-guile %bootstrap-guile)
- + (modules '((guix build utils)))
- + (snippet
- + '(begin
- + (chmod "." 511)
- + (symlink "guile" "guile-rocks")
- + (copy-recursively
- + "../share/guile/2.0/scripts"
- + "scripts")
- + (chmod ".." 511))))))
- + (package
- + (package
- + (inherit (dummy-package "with-snippet"))
- + (source source)
- + (build-system trivial-build-system)
- + (inputs
- + `(("tar"
- + ,(search-bootstrap-binary "tar" (%current-system)))
- + ("xz"
- + ,(search-bootstrap-binary "xz" (%current-system)))))
- + (arguments
- + `(#:guile
- + ,%bootstrap-guile
- + #:builder
- + (let ((tar (assoc-ref %build-inputs "tar"))
- + (xz (assoc-ref %build-inputs "xz"))
- + (source (assoc-ref %build-inputs "source")))
- + (and (zero? (system*
- + tar
- + "xvf"
- + source
- + "--use-compress-program"
- + xz))
- + (string=? "guile" (readlink "bin/guile-rocks"))
- + (file-exists? "bin/scripts/compile.scm")
- + (let ((out (assoc-ref %outputs "out")))
- + (call-with-output-file
- + out
- + (lambda (p) (display "OK" p))))))))))
- + (drv (package-derivation %store package))
- + (out (derivation->output-path drv)))
- + (and (build-derivations
- + %store
- + (list (pk 'snippet-drv drv)))
- + (call-with-input-file out get-string-all))))
- result: SKIP
- test-name: return value
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:442
- source:
- + (test-assert
- + "return value"
- + (let ((drv (package-derivation %store (dummy-package "p"))))
- + (and (derivation? drv)
- + (file-exists? (derivation-file-name drv)))))
- actual-value: #t
- result: PASS
- test-name: package-output
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:447
- source:
- + (test-assert
- + "package-output"
- + (let* ((package (dummy-package "p"))
- + (drv (package-derivation %store package)))
- + (and (derivation? drv)
- + (string=?
- + (derivation->output-path drv)
- + (package-output %store package "out")))))
- actual-value: #t
- result: PASS
- test-name: patch not found yields a run-time error
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:454
- source:
- + (test-assert
- + "patch not found yields a run-time error"
- + (guard (c ((condition-has-type? c &message)
- + (and (string-contains
- + random seed for tests: 1495495375
- package 'foo' has been superseded by 'bar'
- package 'foo' has been superseded by 'bar'
- package 'foo' has been superseded by 'bar'
- package 'foo' has been superseded by 'bar'
- @ build-started /tmp/guix-tests/store/hvyvgjygf729vfvbpl2k3dqvsiwx59cw-trivial-0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/hv//yvgjygf729vfvbpl2k3dqvsiwx59cw-trivial-0.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/hvyvgjygf729vfvbpl2k3dqvsiwx59cw-trivial-0.drv -
- (condition-message c)
- + "does-not-exist.patch")
- + (string-contains
- + (condition-message c)
- + "not found"))))
- + (let ((p (package
- + (inherit (dummy-package "p"))
- + (source
- + (origin
- + (method (const #f))
- + (uri "http://whatever")
- + (patches
- + (list (search-patch "does-not-exist.patch")))
- + (sha256
- + (base32
- + "0amn0bbwqvsvvsh6drfwz20ydc2czk374lzw5kksbh6bf78k4ks4")))))))
- + (package-derivation %store p)
- + #f)))
- actual-value: 28
- result: PASS
- test-name: &package-input-error
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:474
- source:
- + (test-equal
- + "&package-input-error"
- + (list dummy (current-module))
- + (guard (c ((package-input-error? c)
- + (list (package-error-package c)
- + (package-error-invalid-input c))))
- + (package-derivation %store dummy)))
- expected-value: (#<package foo@0 /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:473 20f7900> #<directory (test-packages) 801320>)
- actual-value: (#<package foo@0 /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:473 20f7900> #<directory (test-packages) 801320>)
- result: PASS
- test-name: reference to non-existent output
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:481
- source:
- + (test-assert
- + "reference to non-existent output"
- + (parameterize
- + ((%graft? #f))
- + (let* ((dep (dummy-package "dep"))
- + (p (dummy-package
- + "p"
- + (inputs `(("dep" ,dep "non-existent"))))))
- + (guard (c ((derivation-missing-output-error? c)
- + (and (string=?
- + (derivation-missing-output c)
- + "non-existent")
- + (equal?
- + (package-derivation %store dep)
- + (derivation-error-derivation c)))))
- + (package-derivation %store p)))))
- actual-value: #t
- result: PASS
- test-name: trivial
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:493
- source:
- + (test-assert
- + "trivial"
- + (let* ((p (package
- + (inherit (dummy-package "trivial"))
- + (build-system trivial-build-system)
- + (source #f)
- + (arguments
- + `(#:guile
- + ,%bootstrap-guile
- + #:builder
- + (begin
- + (mkdir %output)
- + (call-with-output-file
- + (string-append %output "/test")
- + (lambda (p) (display '(hello guix) p))))))))
- + (d (package-derivation %store p)))
- + (and (build-derivations %store (list d))
- + (let ((p (pk 'drv d (derivation->output-path d))))
- + (equal?
- + '(hello guix)
- + (call-with-input-file
- + (string-append p "/test")
- + read))))))
- ;;; (drv #<derivation /tmp/guix-tests/store/hvyvgjygf729vfvbpl2k3dqvsiwx59cw-trivial-0.drv => /tmp/guix-tests/store/3pp7cs8ycxg16yldqd62lrk306ck1g72-trivial-0 1ab4f00> "/tmp/guix-tests/store/3pp7cs8ycxg16yldqd62lrk306ck1g72-trivial-0")
- actual-value: #t
- result: PASS
- test-name: trivial with local file as input
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:511
- source:
- + (test-assert
- + "trivial with local file as input"
- + (let* ((i (search-path %load-path "ice-9/boot-9.scm"))
- + (p (package
- + (inherit
- + (dummy-package "trivial-with-input-file"))
- + (build-system trivial-build-system)
- + (source #f)
- + (arguments
- + `(#:guile
- + ,%bootstrap-guile
- + #:builder
- + (copy-file
- + @ build-started /tmp/guix-tests/store/a6yjh360wy274bw6v69b7i4ybgznhc72-trivial-with-input-file-0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/a6//yjh360wy274bw6v69b7i4ybgznhc72-trivial-with-input-file-0.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/a6yjh360wy274bw6v69b7i4ybgznhc72-trivial-with-input-file-0.drv -
- @ build-started /tmp/guix-tests/store/62hvlyvzl8zdm919i5f51clhvy5a5yab-trivial-with-source-0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/62//hvlyvzl8zdm919i5f51clhvy5a5yab-trivial-with-source-0.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/62hvlyvzl8zdm919i5f51clhvy5a5yab-trivial-with-source-0.drv -
- @ build-started /tmp/guix-tests/store/jmw8n1jv0clislyswj0gnc7mm52q0kjv-trivial-system-dependent-input-0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/jm//w8n1jv0clislyswj0gnc7mm52q0kjv-trivial-system-dependent-input-0.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/jmw8n1jv0clislyswj0gnc7mm52q0kjv-trivial-system-dependent-input-0.drv -
- (assoc-ref %build-inputs "input")
- + %output)))
- + (inputs `(("input" ,i)))))
- + (d (package-derivation %store p)))
- + (and (build-derivations %store (list d))
- + (let ((p (pk 'drv d (derivation->output-path d))))
- + (equal?
- + (call-with-input-file p get-bytevector-all)
- + (call-with-input-file i get-bytevector-all))))))
- ;;; (drv #<derivation /tmp/guix-tests/store/a6yjh360wy274bw6v69b7i4ybgznhc72-trivial-with-input-file-0.drv => /tmp/guix-tests/store/ig6yxsjih7q2g4zmlplm1psjz5yprqad-trivial-with-input-file-0 1ab4dc0> "/tmp/guix-tests/store/ig6yxsjih7q2g4zmlplm1psjz5yprqad-trivial-with-input-file-0")
- actual-value: #t
- result: PASS
- test-name: trivial with source
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:527
- source:
- + (test-assert
- + "trivial with source"
- + (let* ((i (search-path %load-path "ice-9/boot-9.scm"))
- + (p (package
- + (inherit (dummy-package "trivial-with-source"))
- + (build-system trivial-build-system)
- + (source i)
- + (arguments
- + `(#:guile
- + ,%bootstrap-guile
- + #:builder
- + (copy-file
- + (assoc-ref %build-inputs "source")
- + %output)))))
- + (d (package-derivation %store p)))
- + (and (build-derivations %store (list d))
- + (let ((p (derivation->output-path d)))
- + (equal?
- + (call-with-input-file p get-bytevector-all)
- + (call-with-input-file i get-bytevector-all))))))
- actual-value: #t
- result: PASS
- test-name: trivial with system-dependent input
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:542
- source:
- + (test-assert
- + "trivial with system-dependent input"
- + (let* ((p (package
- + (inherit
- + (dummy-package "trivial-system-dependent-input"))
- + (build-system trivial-build-system)
- + (source #f)
- + (arguments
- + `(#:guile
- + ,%bootstrap-guile
- + #:builder
- + (let ((out (assoc-ref %outputs "out"))
- + (bash (assoc-ref %build-inputs "bash")))
- + (zero? (system*
- + bash
- + "-c"
- + (format #f "echo hello > ~a" out))))))
- + (inputs
- + `(("bash"
- + ,(search-bootstrap-binary
- + "bash"
- + (%current-system)))))))
- + (d (package-derivation %store p)))
- + (and (build-derivations %store (list d))
- + (let ((p (pk 'drv d (derivation->output-path d))))
- + (eq? 'hello (call-with-input-file p read))))))
- ;;; (drv #<derivation /tmp/guix-tests/store/jmw8n1jv0clislyswj0gnc7mm52q0kjv-trivial-system-dependent-input-0.drv => /tmp/guix-tests/store/8pqmam9mmnpd071ya49hv33dnp8p24f5-trivial-system-dependent-input-0 1ab4960> "/tmp/guix-tests/store/8pqmam9mmnpd071ya49hv33dnp8p24f5-trivial-system-dependent-input-0")
- actual-value: #t
- result: PASS
- test-name: search paths
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:560
- source:
- + (test-assert
- + "search paths"
- + (let* ((p (make-prompt-tag "return-search-paths"))
- + (s (build-system
- + (name 'raw)
- + (description
- + "Raw build system with direct store access")
- + (lower (lambda* (name
- + #:key
- + source
- + inputs
- + system
- + target
- + #:allow-other-keys)
- + (bag (name name)
- + (system system)
- + (target target)
- + (build-inputs inputs)
- + (build (lambda* (store
- + name
- + inputs
- + #:key
- + outputs
- + system
- + search-paths)
- + search-paths)))))))
- + (x (list (search-path-specification
- + (variable "GUILE_LOAD_PATH")
- + (files '("share/guile/site/2.0")))
- + (search-path-specification
- + (variable "GUILE_LOAD_COMPILED_PATH")
- + (files '("share/guile/site/2.0")))))
- + (a (package
- + (inherit (dummy-package "guile"))
- + (build-system s)
- + (native-search-paths x)))
- + (b (package
- + (inherit (dummy-package "guile-foo"))
- + (build-system s)
- + (inputs `(("guile" ,a)))))
- + (c (package
- + (inherit (dummy-package "guile-bar"))
- + (build-system s)
- + (inputs `(("guile" ,a) ("guile-foo" ,b))))))
- + (let-syntax ((collect
- + (syntax-rules ()
- + ((_ body ...)
- + (call-with-prompt
- + p
- + (lambda () body ...)
- + (lambda (k search-paths) search-paths))))))
- + (and (null? (collect (package-derivation %store a)))
- + (equal?
- + x
- + (collect (package-derivation %store b)))
- + (equal?
- + x
- + (collect (package-derivation %store c)))))))
- actual-value: #t
- result: PASS
- test-name: package-transitive-native-search-paths
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:602
- source:
- + (test-assert
- + "package-transitive-native-search-paths"
- + (let* ((sp (lambda (name)
- + (list (search-path-specification
- + (variable name)
- + (files '("foo/bar"))))))
- + (p0 (dummy-package
- + "p0"
- + (native-search-paths (sp "PATH0"))))
- + (p1 (dummy-package
- + "p1"
- + (native-search-paths (sp "PATH1"))))
- + (p2 (dummy-package
- + "p2"
- + (native-search-paths (sp "PATH2"))
- + (inputs `(("p0" ,p0)))
- + (propagated-inputs `(("p1" ,p1)))))
- + (p3 (dummy-package
- + "p3"
- + (native-search-paths (sp "PATH3"))
- + (native-inputs `(("p0" ,p0)))
- + (propagated-inputs `(("p2" ,p2))))))
- + (lset= string=?
- + '("PATH1" "PATH2" "PATH3")
- + (map search-path-specification-variable
- + (package-transitive-native-search-paths p3)))))
- actual-value: #t
- result: PASS
- test-name: package-cross-derivation
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:622
- source:
- + (test-assert
- + "package-cross-derivation"
- + (let ((drv (package-cross-derivation
- + %store
- + (dummy-package "p")
- + "mips64el-linux-gnu")))
- + (and (derivation? drv)
- + (file-exists? (derivation-file-name drv)))))
- actual-value: #t
- result: PASS
- test-name: package-cross-derivation, trivial-build-system
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:628
- source:
- + (test-assert
- + "package-cross-derivation, trivial-build-system"
- + (let ((p (package
- + (inherit (dummy-package "p"))
- + (build-system trivial-build-system)
- + (arguments '(#:builder (exit 1))))))
- + (let ((drv (package-cross-derivation
- + %store
- + p
- + "mips64el-linux-gnu")))
- + (derivation? drv))))
- actual-value: #t
- result: PASS
- test-name: package-cross-derivation, no cross builder
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:635
- source:
- + (test-assert
- + "package-cross-derivation, no cross builder"
- + (let* ((b (build-system
- + (inherit trivial-build-system)
- + (lower (const #f))))
- + (p (package
- + (inherit (dummy-package "p"))
- + (build-system b))))
- + (guard (c ((package-cross-build-system-error? c)
- + (eq? (package-error-package c) p)))
- + (package-cross-derivation
- + %store
- + p
- + "mips64el-linux-gnu")
- + #f)))
- actual-value: #t
- result: PASS
- test-name: package-grafts, indirect grafts
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:663
- source:
- + (test-assert
- + "package-grafts, indirect grafts"
- + (let* ((new (dummy-package
- + "dep"
- + (arguments '(#:implicit-inputs? #f))))
- + (dep (package (inherit new) (version "0.0")))
- + (dep* (package (inherit dep) (replacement new)))
- + (dummy (dummy-package
- + "dummy"
- + (arguments '(#:implicit-inputs? #f))
- + (inputs `(("dep" ,dep*))))))
- + (equal?
- + (package-grafts %store dummy)
- + (list (graft (origin (package-derivation %store dep))
- + (replacement (package-derivation %store new)))))))
- actual-value: #t
- result: PASS
- test-name: package-grafts, indirect grafts, propagated inputs
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:696
- source:
- + (test-assert
- + "package-grafts, indirect grafts, propagated inputs"
- + (let* ((new (dummy-package
- + "dep"
- + (arguments '(#:implicit-inputs? #f))))
- + (dep (package (inherit new) (version "0.0")))
- + (dep* (package (inherit dep) (replacement new)))
- + (prop (dummy-package
- + "propagated"
- + (propagated-inputs `(("dep" ,dep*)))
- + (arguments '(#:implicit-inputs? #f))))
- + (dummy (dummy-package
- + "dummy"
- + (arguments '(#:implicit-inputs? #f))
- + (inputs `(("prop" ,prop))))))
- + (equal?
- + (package-grafts %store dummy)
- + (list (graft (origin (package-derivation %store dep))
- + (replacement (package-derivation %store new)))))))
- actual-value: #t
- result: PASS
- test-name: package-grafts, same replacement twice
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:712
- source:
- + (test-assert
- + "package-grafts, same replacement twice"
- + (let* ((new (dummy-package
- + "dep"
- + (version "1")
- + (arguments '(#:implicit-inputs? #f))))
- + (dep (package
- + (inherit new)
- + (version "0")
- + (replacement new)))
- + (p1 (dummy-package
- + "intermediate1"
- + (arguments '(#:implicit-inputs? #f))
- + (inputs `(("dep" ,dep)))))
- + (p2 (dummy-package
- + "intermediate2"
- + (arguments '(#:implicit-inputs? #f))
- + (inputs `(("dep" ,(package (inherit dep)))))))
- + (p3 (dummy-package
- + "final"
- + (arguments '(#:implicit-inputs? #f))
- + (inputs `(("p1" ,p1) ("p2" ,p2))))))
- + (equal?
- + (package-grafts %store p3)
- + (list (graft (origin
- + (package-derivation
- + %store
- + (package (inherit dep) (replacement #f))))
- + (replacement (package-derivation %store new)))))))
- actual-value: #t
- result: PASS
- test-name: replacement also grafted
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:736
- source:
- + (test-assert
- + "replacement also grafted"
- + (let* ((p1r (dummy-package
- + "P1"
- + (build-system trivial-build-system)
- + (arguments
- + `(#:guile
- + ,%bootstrap-guile
- + #:builder
- + (let ((out (assoc-ref %outputs "out")))
- + @ build-started /tmp/guix-tests/store/4fy6qbf23zv784brzwpkkrmwpnmbp2gr-p1-0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/4f//y6qbf23zv784brzwpkkrmwpnmbp2gr-p1-0.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/4fy6qbf23zv784brzwpkkrmwpnmbp2gr-p1-0.drv -
- @ build-started /tmp/guix-tests/store/107g7qq7946g9vvbp8vqcpx98xjb79df-P2-0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/10//7g7qq7946g9vvbp8vqcpx98xjb79df-P2-0.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/107g7qq7946g9vvbp8vqcpx98xjb79df-P2-0.drv -
- (mkdir out)
- + (call-with-output-file
- + (string-append out "/replacement")
- + (const #t)))))))
- + (p1 (package
- + (inherit p1r)
- + (name "p1")
- + (replacement p1r)
- + (arguments
- + `(#:guile
- + ,%bootstrap-guile
- + #:builder
- + (mkdir (assoc-ref %outputs "out"))))))
- + (p2r (dummy-package
- + "P2"
- + (build-system trivial-build-system)
- + (inputs `(("p1" ,p1)))
- + (arguments
- + `(#:guile
- + ,%bootstrap-guile
- + #:builder
- + (let ((out (assoc-ref %outputs "out")))
- + (mkdir out)
- + (chdir out)
- + (symlink (assoc-ref %build-inputs "p1") "p1")
- + (call-with-output-file
- + (string-append out "/replacement")
- + (const #t)))))))
- + (p2 (package
- + (inherit p2r)
- + (name "p2")
- + (replacement p2r)
- + (arguments
- + `(#:guile
- + ,%bootstrap-guile
- + #:builder
- + (let ((out (assoc-ref %outputs "out")))
- + (mkdir out)
- + (chdir out)
- + (symlink (assoc-ref %build-inputs "p1") "p1"))))))
- + (p3 (dummy-package
- + "p3"
- + (build-system trivial-build-system)
- + (inputs `(("p2" ,p2)))
- + (arguments
- + `(#:guile
- + ,%bootstrap-guile
- + #:builder
- + (let ((out (assoc-ref %outputs "out")))
- + (mkdir out)
- + (chdir out)
- + (symlink (assoc-ref %build-inputs "p2") "p2")))))))
- + (lset= equal?
- + (package-grafts %store p3)
- + (list (graft (origin
- + (package-derivation %store p1 #:graft? #f))
- + (replacement (package-derivation %store p1r)))
- + (graft (origin
- + (package-derivation %store p2 #:graft? #f))
- + (replacement
- + (package-derivation %store p2r #:graft? #t)))))))
- actual-value: #t
- result: PASS
- test-name: package->bag
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:829
- source:
- + (test-equal
- + "package->bag"
- + `("foo86-hurd"
- + #f
- + (,(package-source gnu-make))
- + (,(canonical-package glibc))
- + (,(canonical-package coreutils)))
- + (let ((bag (package->bag gnu-make "foo86-hurd")))
- + (list (bag-system bag)
- + (bag-target bag)
- + (assoc-ref (bag-build-inputs bag) "source")
- + (assoc-ref (bag-build-inputs bag) "libc")
- + (assoc-ref (bag-build-inputs bag) "coreutils"))))
- expected-value: ("foo86-hurd" #f (#<origin "mirror://gnu/make/make-4.2.1.tar.bz2" 23rgfpzwag2c2ky6j34dcabj4hopeaedyvcgws32uzyid7p7yweq ("/tmp/guix-build-guix-0.13.0.drv-0/source/gnu/packages/patches/make-impure-dirs.patch") 192d420>) (#<package glibc@2.25 gnu/packages/commencement.scm:643 1c0b240>) (#<package coreutils@8.26 gnu/packages/bootstrap.scm:147 1c0d180>))
- actual-value: ("foo86-hurd" #f (#<origin "mirror://gnu/make/make-4.2.1.tar.bz2" 23rgfpzwag2c2ky6j34dcabj4hopeaedyvcgws32uzyid7p7yweq ("/tmp/guix-build-guix-0.13.0.drv-0/source/gnu/packages/patches/make-impure-dirs.patch") 192d420>) (#<package glibc@2.25 gnu/packages/commencement.scm:643 1c0b240>) (#<package coreutils@8.26 gnu/packages/bootstrap.scm:147 1c0d180>))
- result: PASS
- test-name: package->bag, cross-compilation
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:838
- source:
- + (test-equal
- + "package->bag, cross-compilation"
- + `(,(%current-system)
- + "foo86-hurd"
- + (,(package-source gnu-make))
- + (,(canonical-package glibc))
- + (,(canonical-package coreutils)))
- + (let ((bag (package->bag
- + gnu-make
- + (%current-system)
- + "foo86-hurd")))
- + (list (bag-system bag)
- + (bag-target bag)
- + (assoc-ref (bag-build-inputs bag) "source")
- + (assoc-ref (bag-build-inputs bag) "libc")
- + (assoc-ref (bag-build-inputs bag) "coreutils"))))
- expected-value: ("x86_64-linux" "foo86-hurd" (#<origin "mirror://gnu/make/make-4.2.1.tar.bz2" 23rgfpzwag2c2ky6j34dcabj4hopeaedyvcgws32uzyid7p7yweq ("/tmp/guix-build-guix-0.13.0.drv-0/source/gnu/packages/patches/make-impure-dirs.patch") 192d420>) (#<package glibc@2.25 gnu/packages/commencement.scm:643 1c0b240>) (#<package coreutils@8.26 gnu/packages/bootstrap.scm:147 1c0d180>))
- actual-value: ("x86_64-linux" "foo86-hurd" (#<origin "mirror://gnu/make/make-4.2.1.tar.bz2" 23rgfpzwag2c2ky6j34dcabj4hopeaedyvcgws32uzyid7p7yweq ("/tmp/guix-build-guix-0.13.0.drv-0/source/gnu/packages/patches/make-impure-dirs.patch") 192d420>) (#<package glibc@2.25 gnu/packages/commencement.scm:643 1c0b240>) (#<package coreutils@8.26 gnu/packages/bootstrap.scm:147 1c0d180>))
- result: PASS
- test-name: package->bag, propagated inputs
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:848
- source:
- + (test-assert
- + "package->bag, propagated inputs"
- + (let* ((dep (dummy-package "dep"))
- + (prop (dummy-package
- + "prop"
- + (propagated-inputs `(("dep" ,dep)))))
- + (dummy (dummy-package
- + "dummy"
- + (inputs `(("prop" ,prop)))))
- + (inputs
- + (bag-transitive-inputs
- + (package->bag dummy #:graft? #f))))
- + (match (assoc "dep" inputs)
- + (("dep" package) (eq? package dep)))))
- actual-value: #t
- result: PASS
- test-name: bag->derivation
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:859
- source:
- + (test-assert
- + "bag->derivation"
- + (parameterize
- + ((%graft? #f))
- + (let ((bag (package->bag gnu-make))
- + (drv (package-derivation %store gnu-make)))
- + (parameterize
- + ((%current-system "foox86-hurd"))
- + (equal? drv (bag->derivation %store bag))))))
- actual-value: #t
- result: PASS
- test-name: bag->derivation, cross-compilation
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:866
- source:
- + (test-assert
- + "bag->derivation, cross-compilation"
- + (parameterize
- + ((%graft? #f))
- + (let* ((target "mips64el-linux-gnu")
- + (bag (package->bag gnu-make (%current-system) target))
- + (drv (package-cross-derivation %store gnu-make target)))
- + (parameterize
- + ((%current-system "foox86-hurd")
- + (%current-target-system "foo64-linux-gnu"))
- + (equal? drv (bag->derivation %store bag))))))
- actual-value: #t
- result: PASS
- test-name: GNU Make, bootstrap
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:877
- source:
- + (test-assert
- + "GNU Make, bootstrap"
- + (let ((gnu-make
- + (@@ (gnu packages commencement) gnu-make-boot0)))
- + (and (package? gnu-make)
- + (or (location? (package-location gnu-make))
- + (not (package-location gnu-make)))
- + (let* ((drv (package-derivation %store gnu-make))
- + (out (derivation->output-path drv)))
- + (and (build-derivations %store (list drv))
- + (file-exists? (string-append out "/bin/make")))))))
- result: SKIP
- test-name: package-mapping
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:889
- source:
- + (test-equal
- + "package-mapping"
- + 42
- + (let* ((dep (dummy-package
- + "chbouib"
- + (native-inputs `(("x" ,grep)))))
- + (p0 (dummy-package
- + "example"
- + (inputs
- + `(("foo" ,coreutils) ("bar" ,grep) ("baz" ,dep)))))
- + (transform
- + (lambda (p) (package (inherit p) (source 42))))
- + (rewrite (package-mapping transform))
- + (p1 (rewrite p0)))
- + (and (eq? p1 (rewrite p0))
- + (eqv? 42 (package-source p1))
- + (match (package-inputs p1)
- + ((("foo" dep1) ("bar" dep2) ("baz" dep3))
- + (and (eq? dep1 (rewrite coreutils))
- + (eq? dep2 (rewrite grep))
- + (eq? dep3 (rewrite dep))
- + (eqv? 42
- + (package-source dep1)
- + (package-source dep2)
- + (package-source dep3))
- + (match (package-native-inputs dep3)
- + ((("x" dep))
- + (and (eq? dep (rewrite grep))
- + (package-source dep))))))))))
- expected-value: 42
- actual-value: 42
- result: PASS
- test-name: package-input-rewriting
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:916
- source:
- + (test-assert
- + "package-input-rewriting"
- + (let* ((dep (dummy-package
- + "chbouib"
- + (native-inputs `(("x" ,grep)))))
- + (p0 (dummy-package
- + "example"
- + (inputs
- + `(("foo" ,coreutils) ("bar" ,grep) ("baz" ,dep)))))
- + (rewrite
- + (package-input-rewriting
- + `((,coreutils unquote sed)
- + (,grep unquote findutils))
- + (cut string-append "r-" <>)))
- + (p1 (rewrite p0))
- + (p2 (rewrite p0)))
- + (and (not (eq? p1 p0))
- + (eq? p1 p2)
- + (string=? "r-example" (package-name p1))
- + (match (package-inputs p1)
- + ((("foo" dep1) ("bar" dep2) ("baz" dep3))
- + (and (eq? dep1 sed)
- + (eq? dep2 findutils)
- + (string=? (package-name dep3) "r-chbouib")
- + (eq? dep3 (rewrite dep))
- + (match (package-native-inputs dep3)
- + ((("x" dep)) (eq? dep findutils)))))))))
- actual-value: #t
- result: PASS
- test-name: fold-packages
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:941
- source:
- + (test-eq
- + "fold-packages"
- + hello
- + (fold-packages
- + (lambda (p r)
- + (if (string=? (package-name p) "hello") p r))
- + #f))
- expected-value: #<package hello@2.10 gnu/packages/base.scm:60 19303c0>
- actual-value: #<package hello@2.10 gnu/packages/base.scm:60 19303c0>
- result: PASS
- test-name: fold-packages, hidden package
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:948
- source:
- + (test-assert
- + "fold-packages, hidden package"
- + (match (fold-packages
- + (lambda (p r)
- + (if (and (string=? (package-name p) "guile")
- + (string-prefix? "2.0" (package-version p)))
- + (cons p r)
- + r))
- + '())
- + ((one) (eq? one guile-2.0))))
- actual-value: #t
- result: PASS
- test-name: find-packages-by-name
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:962
- source:
- + (test-assert
- + "find-packages-by-name"
- + (match (find-packages-by-name "hello")
- + (((? (cut eq? hello <>))) #t)
- + (wrong (pk 'find-packages-by-name wrong #f))))
- actual-value: #t
- result: PASS
- test-name: find-packages-by-name with version
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:967
- source:
- + (test-assert
- + "find-packages-by-name with version"
- + (match (find-packages-by-name
- + "hello"
- + (package-version hello))
- + (((? (cut eq? hello <>))) #t)
- + (wrong (pk 'find-packages-by-name wrong #f))))
- actual-value: #t
- result: PASS
- test-name: --search-paths with pattern
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:972
- source:
- + (test-assert
- + "--search-paths with pattern"
- + (let* ((p1 (package
- + (name "foo")
- + (version "0")
- + (source #f)
- + (build-system trivial-build-system)
- + @ build-started /tmp/guix-tests/store/776fmfgvl86sycqhwylvbxvj8lampqyr-foo-0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/77//6fmfgvl86sycqhwylvbxvj8lampqyr-foo-0.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/776fmfgvl86sycqhwylvbxvj8lampqyr-foo-0.drv -
- @ build-started /tmp/guix-tests/store/r2cwc0ymafj3fih71ddlpvv48ibh3r5f-libxml2-0.0.0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/r2//cwc0ymafj3fih71ddlpvv48ibh3r5f-libxml2-0.0.0.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/r2cwc0ymafj3fih71ddlpvv48ibh3r5f-libxml2-0.0.0.drv -
- @ build-started /tmp/guix-tests/store/2kgydlmck3v1yhapigr0nngwsii3zg09-module-import.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/2k//gydlmck3v1yhapigr0nngwsii3zg09-module-import.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/2kgydlmck3v1yhapigr0nngwsii3zg09-module-import.drv -
- @ build-started /tmp/guix-tests/store/zlmj31wzwc9zr5x2jcjlbcq8v04jfmli-module-import-compiled.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/zl//mj31wzwc9zr5x2jcjlbcq8v04jfmli-module-import-compiled.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/zlmj31wzwc9zr5x2jcjlbcq8v04jfmli-module-import-compiled.drv -
- @ build-started /tmp/guix-tests/store/vpkk5ncdij2jxrq5rzbkanigs8ykfzvb-profile.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/vp//kk5ncdij2jxrq5rzbkanigs8ykfzvb-profile.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/vpkk5ncdij2jxrq5rzbkanigs8ykfzvb-profile.drv -
- (arguments
- + `(#:guile
- + ,%bootstrap-guile
- + #:modules
- + ((guix build utils))
- + #:builder
- + (begin
- + (use-modules (guix build utils))
- + (let ((out (assoc-ref %outputs "out")))
- + (mkdir-p (string-append out "/xml/bar/baz"))
- + (call-with-output-file
- + (string-append out "/xml/bar/baz/catalog.xml")
- + (lambda (port) (display "xml? wat?!" port)))))))
- + (synopsis #f)
- + (description #f)
- + (home-page #f)
- + (license #f)))
- + (p2 (package
- + (name "libxml2")
- + (version "0.0.0")
- + (source #f)
- + (build-system trivial-build-system)
- + (arguments
- + `(#:guile
- + ,%bootstrap-guile
- + #:builder
- + (mkdir (assoc-ref %outputs "out"))))
- + (native-search-paths
- + (package-native-search-paths libxml2))
- + (synopsis #f)
- + (description #f)
- + (home-page #f)
- + (license #f)))
- + (prof (run-with-store
- + %store
- + (profile-derivation
- + (manifest
- + (map package->manifest-entry (list p1 p2)))
- + #:hooks
- + '()
- + #:locales?
- + #f)
- + #:guile-for-build
- + (%guile-for-build))))
- + (build-derivations %store (list prof))
- + (string-match
- + (format
- + #f
- + "^export XML_CATALOG_FILES=\"~a/xml/+bar/baz/catalog\\.xml\"\n"
- + (regexp-quote (derivation->output-path prof)))
- + (with-output-to-string
- + (lambda ()
- + (guix-package
- + "-p"
- + (derivation->output-path prof)
- + "--search-paths"))))))
- actual-value: #("export XML_CATALOG_FILES=\"/tmp/guix-tests/store/xfvb2php359331lx0yvs40csll9rag95-profile/xml/bar/baz/catalog.xml\"\n" (0 . 114))
- result: PASS
- test-name: --search-paths with single-item search path
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:1020
- source:
- + (test-assert
- + "--search-paths with single-item search path"
- + (let* ((p1 (dummy-package
- + "foo"
- + (build-system trivial-build-system)
- + (arguments
- + `(#:guile
- + ,%bootstrap-guile
- + #:modules
- + ((guix build utils))
- + #:builder
- + (begin
- + (use-modules (guix build utils))
- + (let ((out (assoc-ref %outputs "out")))
- + (mkdir-p (string-append out "/etc/ssl/certs"))
- + (call-with-output-file
- + (string-append
- + out
- + "/etc/ssl/certs/ca-certificates.crt")
- + (const #t))))))))
- + (p2 (package (inherit p1) (name "bar")))
- + (p3 (dummy-package
- + "git"
- + (build-system trivial-build-system)
- + (arguments
- + `(#:guile
- + ,%bootstrap-guile
- + #:builder
- + (mkdir (assoc-ref %outputs "out"))))
- + (native-search-paths
- + (package-native-search-paths git))))
- + (prof1 (run-with-store
- + %store
- + (profile-derivation
- + (packages->manifest (list p1 p3))
- + #:hooks
- + '()
- + #:locales?
- + #f)
- + #:guile-for-build
- + (%guile-for-build)))
- + (prof2 (run-with-store
- + %store
- + @ build-started /tmp/guix-tests/store/z037c1pxr6gd46nxgv66r14x3bvmacc6-bar-0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/z0//37c1pxr6gd46nxgv66r14x3bvmacc6-bar-0.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/z037c1pxr6gd46nxgv66r14x3bvmacc6-bar-0.drv -
- @ build-started /tmp/guix-tests/store/rvhc8kmr5b52q16m0cmhlm321sy7cczb-foo-0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/rv//hc8kmr5b52q16m0cmhlm321sy7cczb-foo-0.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/rvhc8kmr5b52q16m0cmhlm321sy7cczb-foo-0.drv -
- @ build-started /tmp/guix-tests/store/ilbcggmc6x2s6gffll2k7b1ryyvr0p3j-git-0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/il//bcggmc6x2s6gffll2k7b1ryyvr0p3j-git-0.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/ilbcggmc6x2s6gffll2k7b1ryyvr0p3j-git-0.drv -
- @ build-started /tmp/guix-tests/store/6dls0qzhbnza3g7f93p1a612dqkr76hz-profile.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/6d//ls0qzhbnza3g7f93p1a612dqkr76hz-profile.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/6dls0qzhbnza3g7f93p1a612dqkr76hz-profile.drv -
- @ build-started /tmp/guix-tests/store/wlbck30fx0hyrvw6w83fn0a3y2rc0gbp-profile.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/wl//bck30fx0hyrvw6w83fn0a3y2rc0gbp-profile.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/wlbck30fx0hyrvw6w83fn0a3y2rc0gbp-profile.drv -
- error: this-package-does-not-exist: unknown package
- (profile-derivation
- + (packages->manifest (list p2 p3))
- + #:hooks
- + '()
- + #:locales?
- + #f)
- + #:guile-for-build
- + (%guile-for-build))))
- + (build-derivations %store (list prof1 prof2))
- + (string-match
- + (format
- + #f
- + "^export GIT_SSL_CAINFO=\"~a/etc/ssl/certs/ca-certificates.crt"
- + (regexp-quote (derivation->output-path prof1)))
- + (with-output-to-string
- + (lambda ()
- + (guix-package
- + "-p"
- + (derivation->output-path prof1)
- + "-p"
- + (derivation->output-path prof2)
- + "--search-paths"))))))
- actual-value: #("export GIT_SSL_CAINFO=\"/tmp/guix-tests/store/gvd1ajkzd5yvzqs3z4cdqixk2gll8245-profile/etc/ssl/certs/ca-certificates.crt\"\n" (0 . 119))
- result: PASS
- test-name: specification->package when not found
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/packages.scm:1066
- source:
- + (test-equal
- + "specification->package when not found"
- + 'quit
- + (catch 'quit
- + (lambda ()
- + (specification->package
- + "this-package-does-not-exist"))
- + (lambda (key . args) key)))
- expected-value: quit
- actual-value: quit
- result: PASS
- SKIP: tests/snix
- ================
- test-name: factorize-uri
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/snix.scm:36
- source:
- + (test-assert
- + "factorize-uri"
- + (every?
- + (match-lambda
- + ((uri version '-> expected)
- + (equal? (factorize-uri uri version) expected)))
- + '(("http://example.com/foo.tgz"
- + "1.0"
- + ->
- + "http://example.com/foo.tgz")
- + ("http://example.com/foo-2.8.tgz"
- + "2.8"
- + ->
- + ("http://example.com/foo-" version ".tgz"))
- + ("http://example.com/2.8/foo-2.8.tgz"
- + "2.8"
- + ->
- + ("http://example.com/"
- + version
- + "/foo-"
- + version
- + ".tgz")))))
- actual-value: #t
- result: PASS
- test-name: nixpkgs->guix-package
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/snix.scm:54
- source:
- + (test-assert
- + "nixpkgs->guix-package"
- + (match (nixpkgs->guix-package
- + %nixpkgs-directory
- + "guile")
- + (('package
- + ('name "guile")
- + ('version (? string?))
- + ('source ('origin _ ...))
- + ('build-system _)
- + ('inputs ('quasiquote (inputs ...)))
- + ('propagated-inputs ('quasiquote (pinputs ...)))
- + ('home-page (? string?))
- + ('synopsis (? string?))
- + ('description (? string?))
- + ('license (? symbol?)))
- + (and (member '("libffi" ,libffi) inputs)
- + (member '("gmp" ,gmp) pinputs)
- + #t))
- + (x (pk 'fail x #f))))
- result: SKIP
- FAIL: tests/store
- =================
- test-name: open-connection with file:// URI
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:51
- source:
- + (test-assert
- + "open-connection with file:// URI"
- + (let ((store (open-connection
- + (string-append "file://" (%daemon-socket-uri)))))
- + (and (add-text-to-store store "foo" "bar")
- + (begin (close-connection store) #t))))
- actual-value: #t
- result: PASS
- test-name: connection handshake error
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:59
- source:
- + (test-equal
- + "connection handshake error"
- + EPROTO
- + (let ((port (%make-void-port "rw")))
- + (guard (c ((nix-connection-error? c)
- + (and (eq? port (nix-connection-error-file c))
- + (nix-connection-error-code c))))
- + (open-connection #f #:port port)
- + 'broken)))
- expected-value: 71
- actual-value: 71
- result: PASS
- test-name: store-path-hash-part
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:68
- source:
- + (test-equal
- + "store-path-hash-part"
- + "283gqy39v3g9dxjy26rynl0zls82fmcg"
- + (store-path-hash-part
- + (string-append
- + (%store-prefix)
- + "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7")))
- expected-value: "283gqy39v3g9dxjy26rynl0zls82fmcg"
- actual-value: "283gqy39v3g9dxjy26rynl0zls82fmcg"
- result: PASS
- test-name: store-path-hash-part #f
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:74
- source:
- + (test-equal
- + "store-path-hash-part #f"
- + #f
- + (store-path-hash-part
- + (string-append
- + (%store-prefix)
- + "/foo/bar/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7")))
- expected-value: #f
- actual-value: #f
- result: PASS
- test-name: store-path-package-name
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:80
- source:
- + (test-equal
- + "store-path-package-name"
- + "guile-2.0.7"
- + (store-path-package-name
- + (string-append
- + (%store-prefix)
- + "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7")))
- expected-value: "guile-2.0.7"
- actual-value: "guile-2.0.7"
- result: PASS
- test-name: store-path-package-name #f
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:86
- source:
- + (test-equal
- + "store-path-package-name #f"
- + #f
- + (store-path-package-name
- + "/foo/bar/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7"))
- expected-value: #f
- actual-value: #f
- result: PASS
- test-name: direct-store-path?
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:91
- source:
- + (test-assert
- + "direct-store-path?"
- + (and (direct-store-path?
- + (string-append
- + (%store-prefix)
- + "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7"))
- + (not (direct-store-path?
- + (string-append
- + (%store-prefix)
- + "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7/bin/guile")))
- + (not (direct-store-path? (%store-prefix)))))
- actual-value: #t
- result: PASS
- test-name: add-data-to-store
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:103
- source:
- + (test-equal
- + "add-data-to-store"
- + #vu8(1 2 3 4 5)
- + (call-with-input-file
- + (add-data-to-store %store "data" #vu8(1 2 3 4 5))
- + get-bytevector-all))
- expected-value: #vu8(1 2 3 4 5)
- actual-value: #vu8(1 2 3 4 5)
- result: PASS
- test-name: valid-path? live
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:108
- source:
- + (test-assert
- + "valid-path? live"
- + (let ((p (add-text-to-store %store "hello" "hello, world")))
- + (valid-path? %store p)))
- actual-value: #t
- result: PASS
- test-name: valid-path? false
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:112
- source:
- + (test-assert
- + "valid-path? false"
- + (not (valid-path?
- + %store
- + (string-append
- + (%store-prefix)
- + "/"
- + (make-string 32 #\e)
- + "-foobar"))))
- actual-value: #t
- result: PASS
- test-name: valid-path? error
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:117
- source:
- + (test-assert
- + "valid-path? error"
- + (with-store
- + s
- + (random seed for tests: 1495495557
- finding garbage collector roots...
- removing stale temporary roots file `/tmp/guix-tests/var/12700/temproots/12718'
- determining live/dead paths...
- finding garbage collector roots...
- removing stale temporary roots file `/tmp/guix-tests/var/12700/temproots/.fuse_hidden0001096600002605'
- determining live/dead paths...
- finding garbage collector roots...
- removing stale temporary roots file `/tmp/guix-tests/var/12700/temproots/.fuse_hidden0001096600002607'
- determining live/dead paths...
- finding garbage collector roots...
- removing stale temporary roots file `/tmp/guix-tests/var/12700/temproots/.fuse_hidden0001096600002608'
- deleting unused links...
- finding garbage collector roots...
- removing stale temporary roots file `/tmp/guix-tests/var/12700/temproots/12747'
- removing stale temporary roots file `/tmp/guix-tests/var/12700/temproots/.fuse_hidden000109660000260a'
- deleting `/tmp/guix-tests/store/82kp2v2zf1mr8ay3pm6nnkc1537fz8qr-delete-me'
- deleting `/tmp/guix-tests/store/trash'
- deleting unused links...
- note: currently hard linking saves 0.61 MiB
- finding garbage collector roots...
- removing stale temporary roots file `/tmp/guix-tests/var/12700/temproots/12754'
- removing stale temporary roots file `/tmp/guix-tests/var/12700/temproots/.fuse_hidden000109660000260d'
- deleting `/tmp/guix-tests/store/a27v317kpgsn1k82vnqhn02s9hjqwg5f-delete-me'
- deleting `/tmp/guix-tests/store/trash'
- deleting unused links...
- note: currently hard linking saves 0.61 MiB
- guard (c ((nix-protocol-error? c) #t))
- + (valid-path? s "foo")
- + #f)))
- actual-value: #t
- result: PASS
- test-name: valid-path? recovery
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:123
- source:
- + (test-assert
- + "valid-path? recovery"
- + (with-store
- + s
- + (let-syntax ((true-if-error
- + (syntax-rules ()
- + ((_ exp)
- + (guard (c ((nix-protocol-error? c) #t)) exp #f)))))
- + (and (true-if-error (valid-path? s "foo"))
- + (true-if-error (valid-path? s "bar"))
- + (true-if-error (valid-path? s "baz"))
- + (true-if-error (valid-path? s "chbouib"))
- + (valid-path?
- + s
- + (add-text-to-store s "valid" "yeah"))))))
- actual-value: #t
- result: PASS
- test-name: hash-part->path
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:140
- source:
- + (test-assert
- + "hash-part->path"
- + (let ((p (add-text-to-store %store "hello" "hello, world")))
- + (equal?
- + (hash-part->path %store (store-path-hash-part p))
- + p)))
- actual-value: #t
- result: PASS
- test-name: dead-paths
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:145
- source:
- + (test-assert
- + "dead-paths"
- + (let ((p (add-text-to-store
- + %store
- + "random-text"
- + (random-text))))
- + (->bool (member p (dead-paths %store)))))
- actual-value: #t
- result: PASS
- test-name: permanent root
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:166
- source:
- + (test-assert
- + "permanent root"
- + (let* ((p (with-store
- + store
- + (let ((p (add-text-to-store
- + store
- + "random-text"
- + (random-text))))
- + (add-permanent-root p)
- + (add-permanent-root p)
- + p))))
- + (and (member p (live-paths %store))
- + (begin
- + (remove-permanent-root p)
- + (->bool (member p (dead-paths %store)))))))
- actual-value: #t
- result: PASS
- test-name: dead path can be explicitly collected
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:178
- source:
- + (test-assert
- + "dead path can be explicitly collected"
- + (let ((p (add-text-to-store
- + %store
- + "random-text"
- + (random-text)
- + '())))
- + (let-values
- + (((paths freed) (delete-paths %store (list p))))
- + (and (equal? paths (list p))
- + (> freed 0)
- + (not (file-exists? p))))))
- actual-value: #f
- result: FAIL
- test-name: add-text-to-store vs. delete-paths
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:186
- source:
- + (test-assert
- + "add-text-to-store vs. delete-paths"
- + (with-store
- + store
- + (let* ((text (random-text))
- + (path (add-text-to-store store "delete-me" text))
- + (deleted (delete-paths store (list path)))
- + (path2 (add-text-to-store store "delete-me" text)))
- + (and (string=? path path2)
- + (equal? deleted (list path))
- + (valid-path? store path)
- + (file-exists? path)))))
- actual-value: #t
- result: PASS
- test-name: add-to-store vs. delete-paths
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:199
- source:
- + (test-assert
- + "add-to-store vs. delete-paths"
- + (with-store
- + store
- + (let* ((file (search-path %load-path "guix.scm"))
- + (path (add-to-store store "delete-me" #t "sha256" file))
- + (deleted (delete-paths store (list path)))
- + (path2 (add-to-store store "delete-me" #t "sha256" file)))
- + (and (string=? path path2)
- + (equal? deleted (list path))
- + (valid-path? store path)
- + (file-exists? path)))))
- actual-value: #t
- result: PASS
- test-name: references
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:211
- source:
- + (test-assert
- + "references"
- + (let* ((t1 (add-text-to-store
- + %store
- + substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- "random1"
- + (random-text)))
- + (t2 (add-text-to-store
- + %store
- + "random2"
- + (random-text)
- + (list t1))))
- + (and (equal? (list t1) (references %store t2))
- + (equal? (list t2) (referrers %store t1))
- + (null? (references %store t1))
- + (null? (referrers %store t2)))))
- actual-value: #t
- result: PASS
- test-name: references/substitutes missing reference info
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:221
- source:
- + (test-assert
- + "references/substitutes missing reference info"
- + (with-store
- + s
- + (set-build-options s #:use-substitutes? #f)
- + (guard (c ((nix-protocol-error? c) #t))
- + (let* ((b (add-to-store
- + s
- + "bash"
- + #t
- + "sha256"
- + (search-bootstrap-binary
- + "bash"
- + (%current-system))))
- + (d (derivation
- + s
- + "the-thing"
- + b
- + '("--help")
- + #:inputs
- + `((,b)))))
- + (references/substitutes
- + s
- + (list (derivation->output-path d) b))
- + #f))))
- actual-value: #t
- result: PASS
- test-name: references/substitutes with substitute info
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:233
- source:
- + (test-assert
- + "references/substitutes with substitute info"
- + (with-store
- + s
- + (set-build-options s #:use-substitutes? #t)
- + (let* ((t1 (add-text-to-store s "random1" (random-text)))
- + (t2 (add-text-to-store
- + s
- + "random2"
- + (random-text)
- + (list t1)))
- + (t3 (add-text-to-store
- + s
- + "build"
- + "echo -n $t2 > $out"))
- + (b (add-to-store
- + s
- + "bash"
- + #t
- + "sha256"
- + (search-bootstrap-binary
- + "bash"
- + (%current-system))))
- + (d (derivation
- + s
- + "the-thing"
- + b
- + `("-e" ,t3)
- + #:inputs
- + `((,b) (,t3) (,t2))
- + #:env-vars
- + `(("t2" unquote t2))))
- + (o (derivation->output-path d)))
- + (with-derivation-narinfo
- + d
- + (sha256 => (sha256 (string->utf8 t2)))
- + (references => (list t2))
- + (equal?
- + (references/substitutes s (list o t3 t2 t1))
- + `((,t2) () (,t1) ()))))))
- actual-value: #t
- result: PASS
- test-name: substitutable-path-info when substitutes are turned off
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:257
- source:
- + (test-equal
- + "substitutable-path-info when substitutes are turned off"
- + '()
- + (with-store
- + s
- + (set-build-options s #:use-substitutes? #f)
- + (let* ((b (add-to-store
- + s
- + "bash"
- + #t
- + "sha256"
- + (search-bootstrap-binary
- + "bash"
- + (%current-system))))
- + (d (derivation
- + s
- + "the-thing"
- + b
- + '("--version")
- + #:inputs
- + `((,b))))
- + (o (derivation->output-path d)))
- + (with-derivation-narinfo
- + d
- + (substitutable-path-info s (list o))))))
- expected-value: ()
- actual-value: ()
- result: PASS
- test-name: substitutable-paths when substitutes are turned off
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:270
- source:
- + (test-equal
- + "substitutable-paths when substitutes are turned off"
- + '()
- + (with-store
- + s
- + (set-build-options s #:use-substitutes? #f)
- + (let* ((b (@ build-started /tmp/guix-tests/store/s25yp6rixfdjv9z2zpb1wg405qy3yif1-the-thing.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/s2//5yp6rixfdjv9z2zpb1wg405qy3yif1-the-thing.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/s25yp6rixfdjv9z2zpb1wg405qy3yif1-the-thing.drv -
- add-to-store
- + s
- + "bash"
- + #t
- + "sha256"
- + (search-bootstrap-binary
- + "bash"
- + (%current-system))))
- + (d (derivation
- + s
- + "the-thing"
- + b
- + '("--version")
- + #:inputs
- + `((,b))))
- + (o (derivation->output-path d)))
- + (with-derivation-narinfo
- + d
- + (substitutable-paths s (list o))))))
- expected-value: ()
- actual-value: ()
- result: PASS
- test-name: requisites
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:283
- source:
- + (test-assert
- + "requisites"
- + (let* ((t1 (add-text-to-store
- + %store
- + "random1"
- + (random-text)
- + '()))
- + (t2 (add-text-to-store
- + %store
- + "random2"
- + (random-text)
- + (list t1)))
- + (t3 (add-text-to-store
- + %store
- + "random3"
- + (random-text)
- + (list t2)))
- + (t4 (add-text-to-store
- + %store
- + "random4"
- + (random-text)
- + (list t1 t3))))
- + (define (same? x y)
- + (and (= (length x) (length y))
- + (lset= equal? x y)))
- + (and (same? (requisites %store (list t1)) (list t1))
- + (same? (requisites %store (list t2))
- + (list t1 t2))
- + (same? (requisites %store (list t3))
- + (list t1 t2 t3))
- + (same? (requisites %store (list t4))
- + (list t1 t2 t3 t4))
- + (same? (requisites %store (list t1 t2 t3 t4))
- + (list t1 t2 t3 t4)))))
- actual-value: #t
- result: PASS
- test-name: derivers
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:303
- source:
- + (test-assert
- + "derivers"
- + (let* ((b (add-text-to-store
- + %store
- + "build"
- + "echo $foo > $out"
- + '()))
- + (s (add-to-store
- + %store
- + "bash"
- + #t
- + "sha256"
- + (search-bootstrap-binary
- + "bash"
- + (%current-system))))
- + (d (derivation
- + %store
- + "the-thing"
- + s
- + `("-e" ,b)
- + #:env-vars
- + `(("foo" unquote (random-text)))
- + #:inputs
- + `((,b) (,s))))
- + (o (derivation->output-path d)))
- + (and (build-derivations %store (list d))
- + (equal?
- + (query-derivation-outputs
- + %store
- + (derivation-file-name d))
- + (list o))
- + (equal?
- + (valid-derivers %store o)
- + (list (derivation-file-name d))))))
- actual-value: #t
- result: PASS
- test-name: topologically-sorted, one item
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:319
- source:
- + (test-assert
- + "topologically-sorted, one item"
- + (let* ((a (add-text-to-store %store "a" "a"))
- + (b (add-text-to-store %store "b" "b" (list a)))
- + (c (add-text-to-store %store "c" "c" (list b)))
- + (d (add-text-to-store %store "d" "d" (list c)))
- + (s (topologically-sorted %store (list d))))
- + (equal? s (list a b c d))))
- actual-value: #t
- result: PASS
- test-name: topologically-sorted, several items
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:327
- source:
- + (test-assert
- + "topologically-sorted, several items"
- + (let* ((a (add-text-to-store %store "a" "a"))
- + (b (add-text-to-store %store "b" "b" (list a)))
- + (c (add-text-to-store %store "c" "c" (list b)))
- + (d (add-text-to-store %store "d" "d" (list c)))
- + (s1 (topologically-sorted %store (list d a c b)))
- + (s2 (topologically-sorted %store (list b d c a b d))))
- + (equal? s1 s2 (list a b c d))))
- actual-value: #t
- result: PASS
- test-name: topologically-sorted, more difficult
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:336
- source:
- + (test-assert
- + "topologically-sorted, more difficult"
- + (let* ((a (add-text-to-store %store "a" "a"))
- + (b (add-text-to-store %store "b" "b" (list a)))
- + (c (add-text-to-store %store "c" "c" (list b)))
- + (d (add-text-to-store %store "d" "d" (list c)))
- + (w (add-text-to-store %store "w" "w"))
- + (x (add-text-to-store %store "x" "x" (list w)))
- + (y (add-text-to-store %store "y" "y" (list x d)))
- + (s1 (topologically-sorted %store (list y)))
- + (s2 (topologically-sorted %store (list c y)))
- + (s3 (topologically-sorted
- + %store
- + (cons y (references %store y)))))
- + (let* ((x-then-d?
- + (equal? (references %store y) (list x d))))
- + (and (equal?
- + s1
- + (if x-then-d?
- + (list w x a b c d y)
- + (list a b c d w x y)))
- + (equal?
- + s2
- + (if x-then-d?
- + (list a b c w x d y)
- + (list a b c d w x y)))
- + (lset= string=? s1 s3)))))
- actual-value: #t
- result: PASS
- test-name: current-build-output-port, UTF-8
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:360
- source:
- + (test-assert
- + "current-build-output-port, UTF-8"
- + (string-contains
- + (with-fluids
- + ((%default-port-encoding "UTF-8"))
- + (call-with-output-string
- + (lambda (port)
- + (parameterize
- + ((current-build-output-port port))
- + (let* ((s "Here’s a Greek letter: λ.")
- + (d (build-expression->derivation
- + %store
- + "foo"
- + `(display ,s)
- + #:guile-for-build
- + (package-derivation
- + s
- + %bootstrap-guile
- + (%current-system)))))
- + (guard (c ((nix-protocol-error? c) #t))
- + (build-derivations %store (list d))))))))
- + "Here’s a Greek letter: λ."))
- actual-value: 175
- result: PASS
- test-name: current-build-output-port, UTF-8 + garbage
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:376
- source:
- + (test-assert
- + "current-build-output-port, UTF-8 + garbage"
- + (string-contains
- + (with-fluids
- + ((%default-port-encoding "UTF-8"))
- + (call-with-output-string
- + (lambda (port)
- + (parameterize
- + ((current-build-output-port port))
- + (let ((d (build-expression->derivation
- + %store
- + "foo"
- + `(begin
- + (use-modules (rnrs io ports))
- + (display "garbage: ")
- + (put-bytevector (current-output-port) #vu8(128))
- + (display "lambda: λ\n"))
- + #:guile-for-build
- + (package-derivation %store %bootstrap-guile))))
- + (guard (c ((nix-protocol-error? c) #t))
- + (build-derivations %store (list d))))))))
- + (cond-expand
- + (guile-2.2 "garbage: �lambda: λ")
- + (else "garbage: ?lambda: λ"))))
- actual-value: 175
- result: PASS
- test-name: log-file, derivation
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:398
- source:
- + (test-assert
- + "log-file, derivation"
- + (let* ((b (add-text-to-store
- + %store
- + "build"
- + "echo $foo > $out"
- + '()))
- + (s (add-to-store
- + %store
- + "bash"
- + #t
- + "sha256"
- + (search-bootstrap-binary
- + "bash"
- + (%current-system))))
- + (d (derivation
- + %store
- + "the-thing"
- + s
- + `("-e" ,b)
- + #:env-vars
- + @ build-started /tmp/guix-tests/store/w1yzgwcpadkcrm6k9drqvnzzrpcnzk68-the-thing.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/w1//yzgwcpadkcrm6k9drqvnzzrpcnzk68-the-thing.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/w1yzgwcpadkcrm6k9drqvnzzrpcnzk68-the-thing.drv -
- @ build-started /tmp/guix-tests/store/qnbzlzx0fqiy6cz1si00k6cwl98sy024-the-thing.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/qn//bzlzx0fqiy6cz1si00k6cwl98sy024-the-thing.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/qnbzlzx0fqiy6cz1si00k6cwl98sy024-the-thing.drv -
- `(("foo" unquote (random-text)))
- + #:inputs
- + `((,b) (,s)))))
- + (and (build-derivations %store (list d))
- + (file-exists?
- + (pk (log-file %store (derivation-file-name d)))))))
- ;;; ("/tmp/guix-tests/var/log/guix/drvs/w1/yzgwcpadkcrm6k9drqvnzzrpcnzk68-the-thing.drv.bz2")
- actual-value: #t
- result: PASS
- test-name: log-file, output file name
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:410
- source:
- + (test-assert
- + "log-file, output file name"
- + (let* ((b (add-text-to-store
- + %store
- + "build"
- + "echo $foo > $out"
- + '()))
- + (s (add-to-store
- + %store
- + "bash"
- + #t
- + "sha256"
- + (search-bootstrap-binary
- + "bash"
- + (%current-system))))
- + (d (derivation
- + %store
- + "the-thing"
- + s
- + `("-e" ,b)
- + #:env-vars
- + `(("foo" unquote (random-text)))
- + #:inputs
- + `((,b) (,s))))
- + (o (derivation->output-path d)))
- + (and (build-derivations %store (list d))
- + (file-exists? (pk (log-file %store o)))
- + (string=?
- + (log-file %store (derivation-file-name d))
- + (log-file %store o)))))
- ;;; ("/tmp/guix-tests/var/log/guix/drvs/qn/bzlzx0fqiy6cz1si00k6cwl98sy024-the-thing.drv.bz2")
- actual-value: #t
- result: PASS
- test-name: no substitutes
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:425
- source:
- + (test-assert
- + "no substitutes"
- + (with-store
- + s
- + (let* ((d1 (package-derivation
- + s
- + %bootstrap-guile
- + (%current-system)))
- + (d2 (package-derivation
- + s
- + %bootstrap-glibc
- + (%current-system)))
- + (o (map derivation->output-path (list d1 d2))))
- + (set-build-options s #:use-substitutes? #f)
- + (and (not (has-substitutes? s (derivation-file-name d1)))
- + (not (has-substitutes? s (derivation-file-name d2)))
- + (null? (substitutable-paths s o))
- + (null? (substitutable-path-info s o))))))
- actual-value: #t
- result: PASS
- test-name: build-things with output path
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:436
- source:
- + (test-assert
- + "build-things with output path"
- + (with-store
- + s
- + (let* ((c (random-text))
- + (d (build-expression->derivation
- + s
- + "substitute-me"
- + `(call-with-output-file
- + %output
- + (lambda (p) (display ,c p)))
- + #:guile-for-build
- + (package-derivation
- + s
- + %bootstrap-guile
- + (%current-system))))
- + (o (derivation->output-path d)))
- + (set-build-options s #:use-substitutes? #f)
- + (build-things s (list o))
- + (not (valid-path? s o)))))
- actual-value: #t
- result: PASS
- test-name: substitute query
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:456
- source:
- + (test-assert
- + "substitute query"
- + (with-store
- + s
- + (let* ((d (package-derivation
- + s
- + %bootstrap-guile
- + (%current-system)))
- + (o (derivation->output-path d)))
- + (with-derivation-narinfo
- + d
- + (false-if-exception
- + (delete-file-recursively
- + (string-append
- + (getenv "XDG_CACHE_HOME")
- + "/guix/substitute")))
- + (set-build-options
- + s
- + #:use-substitutes?
- + #t
- + #:substitute-urls
- + (%test-substitute-urls))
- + (and (has-substitutes? s o)
- + (equal?
- + (list o)
- + (substitutable-paths s (list o)))
- + (match (pk 'spi (substitutable-path-info s (list o)))
- + substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- @ substituter-started /tmp/guix-tests/store/zmgkhlq6xzlm0xs9s3ramqlwmd5lrlj0-substitute-me /tmp/guix-build-guix-0.13.0.drv-0/source/nix/scripts/substitute
- warning: authentication and authorization of substitutes disabled!
- guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- Downloading file:/tmp/guix-tests/var/12700/substituter-data/example.nar (1KiB installed)...
- [K example.nar 176B 0B/s 00:00 [####################] 100.0%
- @ substituter-succeeded /tmp/guix-tests/store/zmgkhlq6xzlm0xs9s3ramqlwmd5lrlj0-substitute-me
- (((? substitutable? s))
- + (and (string=?
- + (substitutable-deriver s)
- + (derivation-file-name d))
- + (null? (substitutable-references s))
- + (equal? (substitutable-nar-size s) 1234)))))))))
- ;;; (spi (#<<substitutable> path: "/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0" deriver: "/tmp/guix-tests/store/kn0gx5na8k2nilq6c362bmavywnilkhq-guile-bootstrap-2.0.drv" refs: () dl-size: 0 nar-size: 1234>))
- actual-value: #t
- result: PASS
- test-name: substitute query, alternating URLs
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:480
- source:
- + (test-assert
- + "substitute query, alternating URLs"
- + (let* ((d (with-store
- + s
- + (package-derivation
- + s
- + %bootstrap-guile
- + (%current-system))))
- + (o (derivation->output-path d)))
- + (with-derivation-narinfo
- + d
- + (false-if-exception
- + (delete-file-recursively
- + (string-append
- + (getenv "XDG_CACHE_HOME")
- + "/guix/substitute")))
- + (and (with-store
- + s
- + (set-build-options
- + s
- + #:use-substitutes?
- + #t
- + #:substitute-urls
- + (%test-substitute-urls))
- + (has-substitutes? s o))
- + (with-store
- + s
- + (set-build-options
- + s
- + #:use-substitutes?
- + #t
- + #:substitute-urls
- + (list "http://does-not-exist"))
- + (not (has-substitutes? s o)))
- + (with-store
- + s
- + (set-build-options
- + s
- + #:use-substitutes?
- + #t
- + #:substitute-urls
- + (%test-substitute-urls))
- + (has-substitutes? s o))
- + (with-store
- + s
- + (set-build-options
- + s
- + #:use-substitutes?
- + #t
- + #:substitute-urls
- + '())
- + (not (has-substitutes? s o)))))))
- actual-value: #t
- result: PASS
- test-name: substitute
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:512
- source:
- + (test-assert
- + "substitute"
- + (with-store
- + s
- + (let* ((c (random-text))
- + (d (build-expression->derivation
- + s
- + "substitute-me"
- + `(call-with-output-file
- + %output
- + (lambda (p) (exit 1) (display ,c p)))
- + #:guile-for-build
- + (package-derivation
- + s
- + %bootstrap-guile
- + (%current-system))))
- + (o (derivation->output-path d)))
- + (with-derivation-substitute
- + d
- + c
- + (set-build-options
- + s
- + #:use-substitutes?
- + #t
- + #:substitute-urls
- + (%test-substitute-urls))
- + (and (has-substitutes? s o)
- + (build-derivations s (list d))
- + (equal?
- + c
- + (call-with-input-file o get-string-all)))))))
- actual-value: #t
- result: PASS
- test-name: substitute + build-things with output path
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:531
- source:
- + (test-assert
- + "substitute + build-things with output path"
- + (with-store
- + s
- + (let* ((c (random-text))
- + (d (build-expression->derivation
- + s
- + "substitute-me"
- + `(call-with-output-file
- + %output
- + (lambda (p) (exit 1) (display ,c p)))
- + #:guile-for-build
- + (package-derivation
- + s
- + %bootstrap-guile
- + (%current-system))))
- + (o (derivation->output-path d)))
- + (substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- @ substituter-started /tmp/guix-tests/store/57gqm81hrn29k7cf0076x52zmlcax2vr-substitute-me /tmp/guix-build-guix-0.13.0.drv-0/source/nix/scripts/substitute
- warning: authentication and authorization of substitutes disabled!
- guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- Downloading file:/tmp/guix-tests/var/12700/substituter-data/example.nar (1KiB installed)...
- [K example.nar 176B 0B/s 00:00 [####################] 100.0%
- @ substituter-succeeded /tmp/guix-tests/store/57gqm81hrn29k7cf0076x52zmlcax2vr-substitute-me
- substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- @ substituter-started /tmp/guix-tests/store/4l2phlryfj24z74xw4jb45zia952rjri-corrupt-substitute /tmp/guix-build-guix-0.13.0.drv-0/source/nix/scripts/substitute
- warning: authentication and authorization of substitutes disabled!
- guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- Downloading file:/tmp/guix-tests/var/12700/substituter-data/example.nar (1KiB installed)...
- [K example.nar 128B 0B/s 00:00 [####################] 100.0%
- @ substituter-failed /tmp/guix-tests/store/4l2phlryfj24z74xw4jb45zia952rjri-corrupt-substitute 0 hash mismatch in downloaded path `/tmp/guix-tests/store/4l2phlryfj24z74xw4jb45zia952rjri-corrupt-substitute': expected 0000000000000000000000000000000000000000000000000000000000000000, got b8f73a6eb280e63169b1de2a5b5e154676fe1ada685f1e5c7183cbb2c1dcd535
- substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- @ substituter-started /tmp/guix-tests/store/5idi3iqz8aq2qn6zll308ipxz65b32p2-substitute-me-not /tmp/guix-build-guix-0.13.0.drv-0/source/nix/scripts/substitute
- warning: authentication and authorization of substitutes disabled!
- guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- Downloading file:/tmp/guix-tests/var/12700/substituter-data/example.nar (1KiB installed)...
- guix substitute: error: open-file: No such file or directory: "/tmp/guix-tests/var/12700/substituter-data/example.nar"
- @ substituter-failed /tmp/guix-tests/store/5idi3iqz8aq2qn6zll308ipxz65b32p2-substitute-me-not 256 fetching path `/tmp/guix-tests/store/5idi3iqz8aq2qn6zll308ipxz65b32p2-substitute-me-not' failed with exit code 1
- @ substituter-started /tmp/guix-tests/store/5idi3iqz8aq2qn6zll308ipxz65b32p2-substitute-me-not /tmp/guix-build-guix-0.13.0.drv-0/source/nix/scripts/substitute
- warning: authentication and authorization of substitutes disabled!
- guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- Downloading file:/tmp/guix-tests/var/12700/substituter-data/example.nar (1KiB installed)...
- guix substitute: error: open-file: No such file or directory: "/tmp/guix-tests/var/12700/substituter-data/example.nar"
- @ substituter-failed /tmp/guix-tests/store/5idi3iqz8aq2qn6zll308ipxz65b32p2-substitute-me-not 256 fetching path `/tmp/guix-tests/store/5idi3iqz8aq2qn6zll308ipxz65b32p2-substitute-me-not' failed with exit code 1
- @ build-started /tmp/guix-tests/store/yy8rjfxwqc995kjmnvqzdrpi5xb6s7fp-substitute-me-not.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/yy//8rjfxwqc995kjmnvqzdrpi5xb6s7fp-substitute-me-not.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/yy8rjfxwqc995kjmnvqzdrpi5xb6s7fp-substitute-me-not.drv -
- with-derivation-substitute
- + d
- + c
- + (set-build-options
- + s
- + #:use-substitutes?
- + #t
- + #:substitute-urls
- + (%test-substitute-urls))
- + (and (has-substitutes? s o)
- + (build-things s (list o))
- + (valid-path? s o)
- + (equal?
- + c
- + (call-with-input-file o get-string-all)))))))
- actual-value: #t
- result: PASS
- test-name: substitute, corrupt output hash
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:551
- source:
- + (test-assert
- + "substitute, corrupt output hash"
- + (with-store
- + s
- + (let* ((c "hello, world")
- + (d (build-expression->derivation
- + s
- + "corrupt-substitute"
- + `(mkdir %output)
- + #:guile-for-build
- + (package-derivation
- + s
- + %bootstrap-guile
- + (%current-system))))
- + (o (derivation->output-path d)))
- + (with-derivation-substitute
- + d
- + c
- + (sha256 => (make-bytevector 32 0))
- + (set-build-options
- + s
- + #:use-substitutes?
- + #t
- + #:fallback?
- + #f
- + #:substitute-urls
- + (%test-substitute-urls))
- + (and (has-substitutes? s o)
- + (guard (c ((nix-protocol-error? c)
- + (pk 'corrupt c)
- + (not (zero? (nix-protocol-error-status c)))))
- + (build-derivations s (list d))
- + #f))))))
- ;;; (corrupt #<condition &nix-protocol-error [message: "some substitutes for the outputs of derivation `/tmp/guix-tests/store/392j6h3j3jg1srjvzppd9x1g86vlk44n-corrupt-substitute.drv' failed (usually happens due to networking issues); try `--fallback' to build derivation from source " status: 1] 101c690>)
- actual-value: #t
- result: PASS
- test-name: substitute --fallback
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:581
- source:
- + (test-assert
- + "substitute --fallback"
- + (with-store
- + s
- + (let* ((t (random-text))
- + (d (build-expression->derivation
- + s
- + "substitute-me-not"
- + `(call-with-output-file
- + %output
- + (lambda (p) (display ,t p)))
- + #:guile-for-build
- + (package-derivation
- + s
- + %bootstrap-guile
- + (%current-system))))
- + (o (derivation->output-path d)))
- + (with-derivation-narinfo
- + d
- + (set-build-options
- + s
- + #:use-substitutes?
- + #t
- + #:substitute-urls
- + (%test-substitute-urls))
- + (and (has-substitutes? s o)
- + (guard (c ((nix-protocol-error? c)
- + (set-build-options
- + s
- + #:use-substitutes?
- + #t
- + #:substitute-urls
- + (%test-substitute-urls)
- + #:fallback?
- + #t)
- + (and (build-derivations s (list d))
- + (equal?
- + t
- + (call-with-input-file o get-string-all)))))
- + (build-derivations s (list d))
- + #f))))))
- actual-value: #t
- result: PASS
- test-name: export/import several paths
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:613
- source:
- + (test-assert
- + "export/import several paths"
- + (let* ((texts (unfold
- + (cut >= <> 10)
- + (lambda _ (random-text))
- + #{1+}#
- + 0))
- + (files (map (cut add-text-to-store %store "text" <>)
- + texts))
- + (dump (call-with-bytevector-output-port
- + (cut export-paths %store files <>))))
- + finding garbage collector roots...
- removing stale temporary roots file `/tmp/guix-tests/var/12700/temproots/.fuse_hidden0001096600002611'
- deleting unused links...
- finding garbage collector roots...
- removing stale temporary roots file `/tmp/guix-tests/var/12700/temproots/.fuse_hidden000109660000264c'
- deleting unused links...
- finding garbage collector roots...
- removing stale temporary roots file `/tmp/guix-tests/var/12700/temproots/.fuse_hidden000109660000265a'
- deleting unused links...
- (delete-paths %store files)
- + (and (every (negate file-exists?) files)
- + (let* ((source (open-bytevector-input-port dump))
- + (imported (import-paths %store source)))
- + (and (equal? imported files)
- + (every file-exists? files)
- + (equal?
- + texts
- + (map (lambda (file)
- + (call-with-input-file file get-string-all))
- + files)))))))
- actual-value: #t
- result: PASS
- test-name: export/import paths, ensure topological order
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:633
- source:
- + (test-assert
- + "export/import paths, ensure topological order"
- + (let* ((file0 (add-text-to-store %store "baz" (random-text)))
- + (file1 (add-text-to-store
- + %store
- + "foo"
- + (random-text)
- + (list file0)))
- + (file2 (add-text-to-store
- + %store
- + "bar"
- + (random-text)
- + (list file1)))
- + (files (list file1 file2))
- + (dump1 (call-with-bytevector-output-port
- + (cute export-paths %store (list file1 file2) <>)))
- + (dump2 (call-with-bytevector-output-port
- + (cute export-paths %store (list file2 file1) <>))))
- + (delete-paths %store files)
- + (and (every (negate file-exists?) files)
- + (bytevector=? dump1 dump2)
- + (let* ((source (open-bytevector-input-port dump1))
- + (imported (import-paths %store source)))
- + (and (equal? imported (list file1 file2))
- + (every file-exists? files)
- + (equal? (list file0) (references %store file1))
- + (equal? (list file1) (references %store file2)))))))
- actual-value: #t
- result: PASS
- test-name: export/import incomplete
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:655
- source:
- + (test-assert
- + "export/import incomplete"
- + (let* ((file0 (add-text-to-store %store "baz" (random-text)))
- + (file1 (add-text-to-store
- + %store
- + "foo"
- + (random-text)
- + (list file0)))
- + (file2 (add-text-to-store
- + %store
- + "bar"
- + (random-text)
- + (list file1)))
- + (dump (call-with-bytevector-output-port
- + (cute export-paths %store (list file2) <>))))
- + (delete-paths %store (list file0 file1 file2))
- + (guard (c ((nix-protocol-error? c)
- + (and (not (zero? (nix-protocol-error-status c)))
- + (string-contains
- + (nix-protocol-error-message c)
- + "not valid"))))
- + (import-paths
- + %store
- + (open-bytevector-input-port dump)))))
- actual-value: 69
- result: PASS
- test-name: export/import recursive
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:672
- source:
- + (test-assert
- + "export/import recursive"
- + (let* ((file0 (add-text-to-store %store "baz" (random-text)))
- + (file1 (add-text-to-store
- + %store
- + "foo"
- + (random-text)
- + (list file0)))
- + (file2 (add-text-to-store
- + %store
- + "bar"
- + (random-text)
- + (list file1)))
- + (dump (call-with-bytevector-output-port
- + (cute export-paths
- + %store
- + (list file2)
- + <>
- + #:recursive?
- + #t))))
- + (delete-paths %store (list file0 file1 file2))
- + (let ((imported
- + (import-paths
- + %store
- + (open-bytevector-input-port dump))))
- + (and (equal? imported (list file0 file1 file2))
- + (every file-exists? (list file0 file1 file2))
- + finding garbage collector roots...
- removing stale temporary roots file `/tmp/guix-tests/var/12700/temproots/.fuse_hidden0001096600002660'
- deleting unused links...
- @ build-started /tmp/guix-tests/store/81dysylmirpp9m0brx7nj5p2a2kj8fbn-bunch.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/81//dysylmirpp9m0brx7nj5p2a2kj8fbn-bunch.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/81dysylmirpp9m0brx7nj5p2a2kj8fbn-bunch.drv -
- finding garbage collector roots...
- removing stale temporary roots file `/tmp/guix-tests/var/12700/temproots/.fuse_hidden0001096600002664'
- deleting unused links...
- (equal? (list file0) (references %store file1))
- + (equal? (list file1) (references %store file2))))))
- actual-value: #t
- result: PASS
- test-name: write-file & export-path yield the same result
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:688
- source:
- + (test-assert
- + "write-file & export-path yield the same result"
- + (run-with-store
- + %store
- + (mlet* %store-monad
- + ((drv1 (package->derivation %bootstrap-guile))
- + (out1 -> (derivation->output-path drv1))
- + (data ->
- + (unfold
- + (cut >= <> 26)
- + (lambda (i) (random-bytevector 128))
- + #{1+}#
- + 0))
- + (build ->
- + (gexp (begin
- + (use-modules (rnrs io ports) (srfi srfi-1))
- + (let ()
- + (define letters
- + (map (lambda (i)
- + (string
- + (integer->char
- + (+ i (char->integer #\a)))))
- + (iota 26)))
- + (define (touch file data)
- + (call-with-output-file
- + file
- + (lambda (port) (put-bytevector port data))))
- + (mkdir (ungexp output))
- + (chdir (ungexp output))
- + (for-each
- + touch
- + (append (drop letters 10) (take letters 10))
- + (list (ungexp-splicing data)))
- + #t))))
- + (drv2 (gexp->derivation "bunch" build))
- + (out2 -> (derivation->output-path drv2))
- + (item-info -> (store-lift query-path-info)))
- + (mbegin
- + %store-monad
- + (built-derivations (list drv1 drv2))
- + (foldm %store-monad
- + (lambda (item result)
- + (define ref-hash
- + (let-values
- + (((port get) (open-sha256-port)))
- + (write-file item port)
- + (close-port port)
- + (get)))
- + (>>= (item-info item)
- + (lambda (info)
- + (return
- + (and result
- + (bytevector=?
- + (path-info-hash info)
- + ref-hash))))))
- + #t
- + (list out1 out2))))
- + #:guile-for-build
- + (%guile-for-build)))
- actual-value: #t
- result: PASS
- test-name: import corrupt path
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:754
- source:
- + (test-assert
- + "import corrupt path"
- + (let* ((text (random-text))
- + (file (add-text-to-store %store "text" text))
- + (dump (call-with-bytevector-output-port
- + (cut export-paths %store (list file) <>))))
- + (delete-paths %store (list file))
- + (let* ((index 112)
- + (byte (bytevector-u8-ref dump index)))
- + (bytevector-u8-set! dump index (logxor 255 byte)))
- + (and (not (file-exists? file))
- + (guard (c ((nix-protocol-error? c)
- + (pk 'c c)
- + (and (not (zero? (nix-protocol-error-status c)))
- + (string-contains
- + (nix-protocol-error-message c)
- + "corrupt"))))
- + (let* ((source (open-bytevector-input-port dump))
- + (imported (import-paths %store source)))
- + (pk 'corrupt-imported imported)
- + #f)))))
- ;;; (c #<condition &nix-protocol-error [reading the Nix store...
- reading the Nix store...
- path `/tmp/guix-tests/store/v7hzdqgwg7asavxjlzsmr141dkrf1zwi-foo' disappeared, but it still has valid referrers!
- reading the Nix store...
- substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- fetching path `/tmp/guix-tests/store/p5bvlbi87wvs4ssxq40zl9jx9fzbpwwp-corrupt'...
- warning: authentication and authorization of substitutes disabled!
- guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- Downloading file:/tmp/guix-tests/var/12700/substituter-data/example.nar (1KiB installed)...
- [K example.nar 176B 0B/s 00:00 [####################] 100.0%
- reading the Nix store...
- checking path existence...
- checking hashes...
- reading the Nix store...
- checking path existence...
- checking hashes...
- path `/tmp/guix-tests/store/p5bvlbi87wvs4ssxq40zl9jx9fzbpwwp-corrupt' was modified! expected hash `d7f417f7389810a5553536bdba6e7de6e20145ed67b421ef021689df2885b91a', got `e09c480e2e93336cd3c45aa129f81a0d7ba56c410b849d7779a8136074413b3d'
- finding garbage collector roots...
- removing stale temporary roots file `/tmp/guix-tests/var/12700/temproots/13163'
- message: "signed hash doesn't match actual contents of imported archive; archive could be corrupt, or someone is trying to import a Trojan horse" status: 1] ed60c0>)
- actual-value: 80
- result: PASS
- test-name: register-path
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:778
- source:
- + (test-assert
- + "register-path"
- + (let ((file (string-append
- + (%store-prefix)
- + "/"
- + (make-string 32 #\f)
- + "-fake")))
- + (when (valid-path? %store file)
- + (delete-paths %store (list file)))
- + (false-if-exception (delete-file file))
- + (let ((ref (add-text-to-store
- + %store
- + "ref-of-fake"
- + (random-text)))
- + (drv (string-append file ".drv")))
- + (call-with-output-file
- + file
- + (cut display "This is a fake store item.\n" <>))
- + (register-path
- + file
- + #:references
- + (list ref)
- + #:deriver
- + drv)
- + (and (valid-path? %store file)
- + (equal? (references %store file) (list ref))
- + (null? (valid-derivers %store file))
- + (null? (referrers %store file))))))
- actual-value: #t
- result: PASS
- test-name: verify-store
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:798
- source:
- + (test-assert
- + "verify-store"
- + (let* ((text (random-text))
- + (file1 (add-text-to-store %store "foo" text))
- + (file2 (add-text-to-store
- + %store
- + "bar"
- + (random-text)
- + (list file1))))
- + (and (pk 'verify1 (verify-store %store))
- + (begin
- + (delete-file file1)
- + (not (pk 'verify2 (verify-store %store))))
- + (begin
- + (call-with-output-file
- + file1
- + (lambda (port) (display text port)))
- + (pk 'verify3 (verify-store %store))))))
- ;;; (verify1 #t)
- ;;; (verify2 #f)
- ;;; (verify3 #t)
- actual-value: #t
- result: PASS
- test-name: verify-store + check-contents
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:815
- source:
- + (test-assert
- + "verify-store + check-contents"
- + (with-store
- + s
- + (let* ((text (random-text))
- + (drv (build-expression->derivation
- + s
- + "corrupt"
- + `(let ((out (assoc-ref %outputs "out")))
- + (call-with-output-file
- + out
- + (lambda (port) (display ,text port)))
- + #t)
- + #:guile-for-build
- + (package-derivation
- + s
- + %bootstrap-guile
- + (%current-system))))
- + (file (derivation->output-path drv)))
- + (with-derivation-substitute
- + drv
- + text
- + (and (build-derivations s (list drv))
- + (verify-store s #:check-contents? #t)
- + (begin
- + (chmod file 420)
- + (call-with-output-file
- + file
- + (lambda (port) (display "corrupt!" port)))
- + #t)
- + (not (verify-store s #:check-contents? #t))
- + (delete-paths s (list file)))))))
- actual-value: #f
- actual-error:
- + (srfi-34
- + #<condition &nix-protocol-error [message: "path `dtmp/guix-tests/store/462z3fnl7bs44vp9s97jyg1z74nsfvly-tar' is not in the Nix store" status: 1] e171e0>)
- result: FAIL
- test-name: build-things, check mode
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:852
- source:
- + (test-assert
- + "build-things, check mode"
- + (with-store
- + store
- + (call-with-temporary-output-file
- + (lambda (entropy entropy-port)
- + (write (random-text) entropy-port)
- + (force-output entropy-port)
- + (let* ((drv (build-expression->derivation
- + store
- + "non-deterministic"
- + `(begin
- + substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- building path(s) `/tmp/guix-tests/store/yxdrblahz7n571z3mrqcmw9b8yxvdjn9-non-deterministic'
- checking path(s) `/tmp/guix-tests/store/yxdrblahz7n571z3mrqcmw9b8yxvdjn9-non-deterministic'
- warning: rewriting hashes in `/tmp/guix-tests/store/yxdrblahz7n571z3mrqcmw9b8yxvdjn9-non-deterministic'; cross fingers
- @ build-started /tmp/guix-tests/store/wz4x7fy6s0ilrvcvrjp8w2jal0ldmxj2-non-deterministic.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/wz//4x7fy6s0ilrvcvrjp8w2jal0ldmxj2-non-deterministic.drv.bz2
- @ build-started /tmp/guix-tests/store/wz4x7fy6s0ilrvcvrjp8w2jal0ldmxj2-non-deterministic.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/wz//4x7fy6s0ilrvcvrjp8w2jal0ldmxj2-non-deterministic.drv.bz2
- output ‘/tmp/guix-tests/store/qj2ycljwvb81vwmbybmkva32zckyv229-non-deterministic’ of ‘/tmp/guix-tests/store/wz4x7fy6s0ilrvcvrjp8w2jal0ldmxj2-non-deterministic.drv’ differs from previous round
- @ build-failed /tmp/guix-tests/store/wz4x7fy6s0ilrvcvrjp8w2jal0ldmxj2-non-deterministic.drv - 1 output ‘/tmp/guix-tests/store/qj2ycljwvb81vwmbybmkva32zckyv229-non-deterministic’ of ‘/tmp/guix-tests/store/wz4x7fy6s0ilrvcvrjp8w2jal0ldmxj2-non-deterministic.drv’ differs from previous round
- (use-modules (rnrs io ports))
- + (let ((out (assoc-ref %outputs "out")))
- + (call-with-output-file
- + out
- + (lambda (port)
- + (display
- + (call-with-input-file
- + ,entropy
- + get-string-all)
- + port)))
- + #t))
- + #:guile-for-build
- + (package-derivation
- + store
- + %bootstrap-guile
- + (%current-system))))
- + (file (derivation->output-path drv)))
- + (and (build-things
- + store
- + (list (derivation-file-name drv)))
- + (begin
- + (write (random-text) entropy-port)
- + (force-output entropy-port)
- + (guard (c ((nix-protocol-error? c)
- + (pk 'determinism-exception c)
- + (and (not (zero? (nix-protocol-error-status c)))
- + (string-contains
- + (nix-protocol-error-message c)
- + "deterministic"))))
- + (build-things
- + store
- + (list (derivation-file-name drv))
- + (build-mode check))
- + #f))))))))
- ;;; (determinism-exception #<condition &nix-protocol-error [message: "derivation `/tmp/guix-tests/store/vbbxdzqwydn6c9lqm7yhcpjs6jn15ani-non-deterministic.drv' may not be deterministic: output `/tmp/guix-tests/store/yxdrblahz7n571z3mrqcmw9b8yxvdjn9-non-deterministic' differs" status: 1] eade10>)
- actual-value: 71
- result: PASS
- test-name: build multiple times
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:889
- source:
- + (test-assert
- + "build multiple times"
- + (with-store
- + store
- + (set-build-options
- + store
- + #:rounds
- + 2
- + #:use-substitutes?
- + #f)
- + (call-with-temporary-output-file
- + (lambda (entropy entropy-port)
- + (write (random-text) entropy-port)
- + (force-output entropy-port)
- + (let* ((drv (build-expression->derivation
- + store
- + "non-deterministic"
- + `(begin
- + (use-modules (rnrs io ports))
- + (let ((out (assoc-ref %outputs "out")))
- + (call-with-output-file
- + out
- + (lambda (port)
- + (display
- + (call-with-input-file
- + ,entropy
- + get-string-all)
- + port)
- + (call-with-output-file
- + ,entropy
- + (lambda (port) (write 'foobar port)))))
- + #t))
- + #:guile-for-build
- + (package-derivation
- + store
- + %bootstrap-guile
- + (%current-system))))
- + (file (derivation->output-path drv)))
- + (guard (c ((nix-protocol-error? c)
- + (pk 'multiple-build c)
- + (and (not (zero? (nix-protocol-error-status c)))
- + (string-contains
- + (nix-protocol-error-message c)
- + "deterministic"))))
- + (current-build-output-port (current-error-port))
- + (build-things
- + store
- + (list (derivation-file-name drv)))
- + #f))))))
- ;;; (multiple-build #<condition &nix-protocol-error [@ build-started /tmp/guix-tests/store/7bmd63xq675b7v5gvr1wz5p7l6nzq54b-the-thing.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/7b//md63xq675b7v5gvr1wz5p7l6nzq54b-the-thing.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/7bmd63xq675b7v5gvr1wz5p7l6nzq54b-the-thing.drv -
- message: "build of `/tmp/guix-tests/store/wz4x7fy6s0ilrvcvrjp8w2jal0ldmxj2-non-deterministic.drv' failed" status: 1] dce990>)
- actual-value: 69
- result: PASS
- test-name: store-lower
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:927
- source:
- + (test-equal
- + "store-lower"
- + "Lowered."
- + (let* ((add (store-lower text-file))
- + (file (add %store "foo" "Lowered.")))
- + (call-with-input-file file get-string-all)))
- expected-value: "Lowered."
- actual-value: "Lowered."
- result: PASS
- test-name: current-system
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:933
- source:
- + (test-equal
- + "current-system"
- + "bar"
- + (parameterize
- + ((%current-system "frob"))
- + (run-with-store
- + %store
- + (mbegin
- + %store-monad
- + (set-current-system "bar")
- + (current-system))
- + #:system
- + "foo")))
- expected-value: "bar"
- actual-value: "bar"
- result: PASS
- test-name: query-path-info
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:942
- source:
- + (test-assert
- + "query-path-info"
- + (let* ((ref (add-text-to-store %store "ref" "foo"))
- + (item (add-text-to-store
- + %store
- + "item"
- + "bar"
- + (list ref)))
- + (info (query-path-info %store item)))
- + (and (equal? (path-info-references info) (list ref))
- + (equal?
- + (path-info-hash info)
- + (sha256
- + (string->utf8
- + (call-with-output-string
- + (cut write-file item <>))))))))
- actual-value: #t
- result: PASS
- test-name: path-info-deriver
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:952
- source:
- + (test-assert
- + "path-info-deriver"
- + (let* ((b (add-text-to-store
- + %store
- + "build"
- + "echo $foo > $out"
- + '()))
- + (s (add-to-store
- + %store
- + "bash"
- + #t
- + "sha256"
- + (search-bootstrap-binary
- + "bash"
- + (%current-system))))
- + (d (derivation
- + %store
- + "the-thing"
- + s
- + `("-e" ,b)
- + #:env-vars
- + `(("foo" unquote (random-text)))
- + #:inputs
- + `((,b) (,s))))
- + (o (derivation->output-path d)))
- + (and (build-derivations %store (list d))
- + (not (path-info-deriver (query-path-info %store b)))
- + (string=?
- + (derivation-file-name d)
- + (path-info-deriver (query-path-info %store o))))))
- actual-value: #t
- result: PASS
- test-name: build-cores
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/store.scm:967
- source:
- + (test-equal
- + "build-cores"
- + (list 0 42)
- + (with-store
- + store
- + (let* ((build (add-text-to-store
- + store
- + "build.sh"
- + "echo $NIX_BUILD_CORES > $out"))
- + (bash (add-to-store
- + store
- + "bash"
- + #t
- + "sha256"
- + (search-bootstrap-binary
- + "bash"
- + (%current-system))))
- + (drv1 (derivation
- + store
- + "the-thing"
- + bash
- + `("-e" ,build)
- + #:inputs
- + `((,bash) (,build))
- + #:env-vars
- + `(("x" unquote (random-text)))))
- + (drv2 (derivation
- + store
- + "the-thing"
- + bash
- + `("-e" ,build)
- + #:inputs
- + `((,bash) (,build))
- + #:env-vars
- + `(("x" unquote (random-text))))))
- + (and (build-derivations store (list drv1))
- + (begin
- + (set-build-options store #:build-cores 42)
- + (build-derivations store (list drv2)))
- + substitute: warning: authentication and authorization of substitutes disabled!
- substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
- building path(s) `/tmp/guix-tests/store/w4sgq113m6c79qnljh5wgvyfzav3yg26-the-thing'
- @ build-started /tmp/guix-tests/store/pavid64p9rfh9gm5l2pqgkclssggx5kg-the-thing.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/pa//vid64p9rfh9gm5l2pqgkclssggx5kg-the-thing.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/pavid64p9rfh9gm5l2pqgkclssggx5kg-the-thing.drv -
- (list (call-with-input-file
- + (derivation->output-path drv1)
- + read)
- + (call-with-input-file
- + (derivation->output-path drv2)
- + read))))))
- expected-value: (0 42)
- actual-value: (0 42)
- result: PASS
- SKIP: tests/union
- =================
- random seed for tests: 1495496499
- @ build-started /tmp/guix-tests/store/w5hzafbhxyj68wdlzydkf3gd2rj9xhbs-module-import.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/w5//hzafbhxyj68wdlzydkf3gd2rj9xhbs-module-import.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/w5hzafbhxyj68wdlzydkf3gd2rj9xhbs-module-import.drv -
- @ build-started /tmp/guix-tests/store/bk6y6c5s831m315cn5n8p0r4wvjh5w0c-one.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/bk//6y6c5s831m315cn5n8p0r4wvjh5w0c-one.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/bk6y6c5s831m315cn5n8p0r4wvjh5w0c-one.drv -
- @ build-started /tmp/guix-tests/store/628gfbr4qvj6sp47kb5q54dawrmia3nd-module-import-compiled.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/62//8gfbr4qvj6sp47kb5q54dawrmia3nd-module-import-compiled.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/628gfbr4qvj6sp47kb5q54dawrmia3nd-module-import-compiled.drv -
- @ build-started /tmp/guix-tests/store/65n0cpnsjxrd997061hc1ypyq0k18anq-two.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/65//n0cpnsjxrd997061hc1ypyq0k18anq-two.drv.bz2
- @ build-succeeded /tmp/guix-tests/store/65n0cpnsjxrd997061hc1ypyq0k18anq-two.drv -
- @ build-started /tmp/guix-tests/store/jl6cqbn3pmfskmj6p831c2pvk4d14dvm-union-collision-symlink.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/jl//6cqbn3pmfskmj6p831c2pvk4d14dvm-union-collision-symlink.drv.bz2
- `/tmp/guix-tests/store/frj54nbxjn5nxa4nv5n8mgz6k70ar75k-two/bar' ~> `/tmp/guix-tests/store/5nnaqsyjniaxw2pfjdq5j55mqcyi8lnp-union-collision-symlink/bar'
- `/tmp/guix-tests/store/frj54nbxjn5nxa4nv5n8mgz6k70ar75k-two/foo/two' ~> `/tmp/guix-tests/store/5nnaqsyjniaxw2pfjdq5j55mqcyi8lnp-union-collision-symlink/foo/two'
- `/tmp/guix-tests/store/b2jqczfis8zv2x8y1v1wjhrzzw90ibk0-one/foo/one' ~> `/tmp/guix-tests/store/5nnaqsyjniaxw2pfjdq5j55mqcyi8lnp-union-collision-symlink/foo/one'
- @ build-succeeded /tmp/guix-tests/store/jl6cqbn3pmfskmj6p831c2pvk4d14dvm-union-collision-symlink.drv -
- test-name: union-build with symlink to directory
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/union.scm:42
- source:
- + (test-assert
- + "union-build with symlink to directory"
- + (let* ((one (build-expression->derivation
- + %store
- + "one"
- + '(begin
- + (use-modules (guix build utils) (srfi srfi-26))
- + (let ((foo (string-append %output "/foo")))
- + (mkdir-p foo)
- + (call-with-output-file
- + (string-append foo "/one")
- + (cut display "one" <>))))
- + #:modules
- + '((guix build utils))))
- + (two (build-expression->derivation
- + %store
- + "two"
- + '(begin
- + (use-modules (guix build utils) (srfi srfi-26))
- + (let ((foo (string-append %output "/foo"))
- + (bar (string-append %output "/bar")))
- + (mkdir-p bar)
- + (call-with-output-file
- + (string-append bar "/two")
- + (cut display "two" <>))
- + (symlink "bar" foo)))
- + #:modules
- + '((guix build utils))))
- + (builder
- + '(begin
- + (use-modules (guix build union))
- + (union-build
- + (assoc-ref %outputs "out")
- + (list (assoc-ref %build-inputs "one")
- + (assoc-ref %build-inputs "two")))))
- + (drv (build-expression->derivation
- + %store
- + "union-collision-symlink"
- + builder
- + #:inputs
- + `(("one" ,one) ("two" ,two))
- + #:modules
- + '((guix build union)))))
- + (and (build-derivations %store (list drv))
- + (with-directory-excursion
- + (pk (derivation->output-path drv))
- + (and (string=?
- + "one"
- + (call-with-input-file "foo/one" get-string-all))
- + (string=?
- + "two"
- + (call-with-input-file "foo/two" get-string-all))
- + (string=?
- + "two"
- + (call-with-input-file "bar/two" get-string-all))
- + (not (file-exists? "bar/one")))))))
- ;;; ("/tmp/guix-tests/store/5nnaqsyjniaxw2pfjdq5j55mqcyi8lnp-union-collision-symlink")
- actual-value: #t
- result: PASS
- test-name: union-build
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/union.scm:91
- source:
- + (test-assert
- + "union-build"
- + (let* ((inputs
- + (map (match-lambda
- + ((name package)
- + `(,name ,(package-derivation %store package))))
- + (append
- + %bootstrap-inputs
- + (take %bootstrap-inputs 3))))
- + (builder
- + `(begin
- + (use-modules (guix build union))
- + (union-build
- + (assoc-ref %outputs "out")
- + (map cdr %build-inputs))))
- + (drv (build-expression->derivation
- + %store
- + "union-test"
- + builder
- + #:inputs
- + inputs
- + #:modules
- + '((guix build union)))))
- + (and (build-derivations %store (list (pk 'drv drv)))
- + (with-directory-excursion
- + (derivation->output-path drv)
- + (and (file-exists? "bin/touch")
- + (file-exists? "bin/gcc")
- + (file-exists? "bin/ld")
- + (file-exists? "lib/libc.so")
- + (directory-exists? "lib/gcc")
- + (file-exists? "include/unistd.h")
- + (eq? 'symlink (stat:type (lstat "include/c++")))
- + (eq? 'directory (stat:type (lstat "bin""union-build #:create-all-directories? #t"
- + (let* ((build `(begin
- + (use-modules (guix build union))
- + (union-build
- + (assoc-ref %outputs "out")
- + (map cdr %build-inputs)
- + #:create-all-directories?
- + #t)))
- + (input (package-derivation %store %bootstrap-guile))
- + (drv (build-expression->derivation
- + %store
- + "union-test-all-dirs"
- + build
- + #:modules
- + '((guix build union))
- + #:inputs
- + `(("g" ,input)))))
- + (and (build-derivations %store (list drv))
- + (with-directory-excursion
- + (derivation->output-path drv)
- + (and (file-exists? "bin/guile")
- + (file-is-directory? "bin")
- + (eq? 'symlink (stat:type (lstat "bin/guile"))))))))
- actual-value: #t
- result: PASS
- SKIP: tests/syscalls
- ====================
- test-name: mount, ENOENT
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:38
- source:
- + (test-equal
- + "mount, ENOENT"
- + ENOENT
- + (catch 'system-error
- + (lambda ()
- + (mount "/dev/null" "/does-not-exist" "ext2")
- + #f)
- + (compose system-error-errno list)))
- expected-value: 2
- actual-value: 2
- result: PASS
- test-name: umount, ENOENT/EPERM
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:46
- source:
- + (test-assert
- + "umount, ENOENT/EPERM"
- + (catch 'system-error
- + (lambda () (umount "/does-not-exist") #f)
- + (lambda args
- + (memv (system-error-errno args)
- + (list EPERM ENOENT)))))
- actual-value: (1 2)
- result: PASS
- test-name: mount-points
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:55
- source:
- + (test-assert
- + "mount-points"
- + (any (cute member <> (mount-points))
- + '("/" "/proc" "/sys" "/dev")))
- actual-value: ("/" "/dev/full" "/dev/kvm" "/dev/null" "/dev/random" "/dev/tty" "/dev/urandom" "/dev/zero" "/gnu/store/02426nwiy32cscm4h83729vn5ws1gs2i-bash-static-4.4.12" "/gnu/store/02a60j2x8i4wdj67krl4z7fc5i7maqrw-nettle-3.3" "/gnu/store/0fzh44zpdw1h2dwpzgfw2lic05y4k6md-libxt-1.1.5" "/gnu/store/0wps368gx0cn3ynrkbhzq5pxf75rng7y-glib-2.50.3" "/gnu/store/0xm7szwymsv87z7y4bi2lgvx2jhniqms-file-5.28" "/gnu/store/16i6p8liwzl2wk10akcqw84l9mqhdyfg-automake-1.15" "/gnu/store/1h0p1lgl5i1dmwa0rzxflv664zwwm6am-glibc-utf8-locales-2.25" "/gnu/store/2rba93k7hlaqgwimwnsi0a4h4f04afag-libxmu-1.1.2" "/gnu/store/2sf5dkanvf3r0mg20yysxig5fgg8yq8d-libxrender-0.9.10" "/gnu/store/2xm70k2vppjw5m4aqnh9ii3hiz667dg2-pkg-config-0.29.1" "/gnu/store/38j1nrzd039sd65zfpbd0i3j9lxvnwpx-fontconfig-2.12.1" "/gnu/store/3lsfrwlp1qa345x71yw5w49i2mpp0vxm-guile-2.0.14" "/gnu/store/4iw4r2majarqlm19adaikqw126jxqf2p-gcc-5.4.0" "/gnu/store/4m58wpsp8xx4b3v5rwnq6ww93dp16z0l-module-import" "/gnu/store/540scmzhxx3avrr760ma7pyzp26k5gbs-libxpm-3.5.12" "/gnu/store/55r4yg5iw9zh2j3zvzc6272k5xn4yxg4-gawk-4.1.4" "/gnu/store/5bh7p754d09wcp64ckxlvwz7lgyk0h59-linux-libre-headers-4.4.47" "/gnu/store/5zx29y44nrqj0s8h3jlvlj82k8hj4dxs-guile-2.2.2" "/gnu/store/6908gy3pws0ccys49ni98idwnicchlr2-coreutils-8.26" "/gnu/store/6rp4sjvp7lxkjh6mya4gg5g37i4qlrk4-gd-2.2.4" "/gnu/store/6z06w9zfnq3zcr50vcv2wvzr5wpzvy7l-util-linux-2.29.2" "/gnu/store/85ss68qvpfb62chf2wapp3b8gfqv5xc6-libffi-3.2.1" "/gnu/store/87sj03j9kwzhl9zr76gs2i8ill86ki95-grep-3.0" "/gnu/store/899421wkg4iff0vvid7c9zvrdnyqd69v-acl-2.2.52" "/gnu/store/8cahzancb8dyh5ciwzclq41m1cvw78cj-ed-1.14.1" "/gnu/store/8nkj1w5whm5gwrhsmqvm1w6im27vz02g-bzip2-1.0.6" "/gnu/store/8wmanahsh0mk1n5xw6i7wpwih95yqzaq-gzip-1.8" "/gnu/store/92nphddbww5b9z4sqdzis5z53lhqf0bd-gts-0.7.6" "/gnu/store/9ahz2yfi9ydchfksdgl96y785kn9453w-zlib-1.2.11" "/gnu/store/9f66pvz4vf1d9k8iir6asdp3l8k58cnn-libatomic-ops-7.4.4" "/gnu/store/9kpc0l7888av969242bswsd0h6vpw8q7-libcap-2.25" "/gnu/store/a3qkf2l3jqnpqibcg2iwbkak4d6scx28-libbsd-0.8.3" "/gnu/store/a42pfdz8w5qxdkp6xz8783ydywmp0p8p-module-import" "/gnu/store/aamm99b0iq42qcxqy6mxi50h93a84af3-m4-1.4.18" "/gnu/store/alg6ani0nnwrxyz15d1j5d0k6qs2m5sk-make-4.2.1" "/gnu/store/ax413995ajhcrk5g48r6w3bwkb3pb1lr-gettext-minimal-0.19.8.1" "/gnu/store/b7w6bjp602qvhbsjs535dfax8v7wy8s8-gmp-6.1.2" "/gnu/store/b837wr8ffw2ppbx1744a2xll70bh8h4c-freetype-2.7.1" "/gnu/store/bji78ysmny9kwy7566g3xzyqbjhvc1fn-libatomic-ops-7.4.4" "/gnu/store/c096s3rxsilbp36y7wnsr29w2hvr3s9x-autoconf-2.69" "/gnu/store/c140q16b1n4x0j2i7wv1awc1c39ipzrr-xz-5.2.2" "/gnu/store/cgnwpa0h824nvffcc3nngks1rv7p80d4-autoconf-wrapper-2.69" "/gnu/store/cz9ci6jdmwfnmk6n697dj98rc4sjs0ql-attr-2.4.47" "/gnu/store/dcc4b6r7npjmhdsah1g6nw1j9wdy635y-sqlite-3.17.0" "/gnu/store/dhc2iy059hi91fk55dcv79z09kp6500y-gcc-5.4.0-lib" "/gnu/store/dj9w9y66ncmn7qpnahz5fhqjjwqrnbjm-ncurses-6.0" "/gnu/store/dr4qfgqmcv8vjfyi5bh6iqxmcnr5psxh-libxau-1.0.8" "/gnu/store/fa6rba5r6m5ad1hy80ngmyc3r391lf9r-guile2.2-gnutls-3.5.9" "/gnu/store/fk20a8bgdd2ld3ik514zpfzj8akwvb30-gmp-6.1.2" "/gnu/store/fpbm0nvl2zi4jksm22kr1mq3hfw79xdn-libxcb-1.12" "/gnu/store/gdgrzf1y15scqwk1yzm51dc40g29vad9-findutils-4.6.0" "/gnu/store/gdx6vk579px16dgv60hgrr1c2k1pwsni-libx11-1.6.5" "/gnu/store/h7mx27bl0wynlz8vjszzykqqldccfwm5-ncurses-6.0" "/gnu/store/hag795ji8p9vqikwp8cibfibpsa39s3n-libgcrypt-1.7.6" "/gnu/store/hgv1xc69vf2cqy21iglppnr2329llxqw-pixman-0.34.0" "/gnu/store/hqim8ih804fbqk7gailh1hlgmkpjzccn-gzip-1.8" "/gnu/store/hqqw3jkqdpy72drq8mnn1kbh4dssw5lc-libxaw-1.0.13" "/gnu/store/hvyk1qyph1hihfmym1w271ygp84adb0v-readline-7.0" "/gnu/store/i0bjwdqvn0wixcwfpw254w0az17iysga-cairo-1.14.8" "/gnu/store/i92s6sqzlps5wasx09wv3lckn2lj3dm7-perl-5.24.0" "/gnu/store/if99vbhh9vk98p61a7l3s9d1vmbmfkk0-expat-2.2.0" "/gnu/store/j4p7cnxb6byf1wra3yz6pk8av4g5mwkl-libgc-7.6.0" "/gnu/store/j92kxc1l8h879cc4ss1gbhsq73ddnbsg-libgpg-error-1.26" "/gnu/store/ja06pq19g0cf2122kimk15z5yn0az73j-libxdmcp-1.1.2" "/gnu/store/jwkcd7siv6fcyl0qsg607bg9c8ap0gqr-zlib-1.2.11" "/gnu/store/k6jkr6p94xlsddgiy8abicm2b36gkdh6-harfbuzz-1.4.3" "/gnu/store/k7029k5va68lkapbzcycdzj7m5bjb4b8-bash-4.4.12" "/gnu/store/k8xbdjbpd83s6i48az9c7l6pkf8za8xj-libidn2-0.16" "/gnu/store/kbs0012il9z63kp0nlq0h66m6zjp4f21-diffutils-3.5" "/gnu/store/kndl3vllk4bdq1xd3p8k67h8jrsq8xbq-readline-7.0" "/gnu/store/l2paa4ka8lglar0b778qzl7a6h2v5dzn-guile-json-0.6.0" "/gnu/store/lcmcm4c0zjv3sa9amdrhaszd7vwwxjh1-libltdl-2.4.6" "/gnu/store/m71kgd1gbx609mqn2m4lm9x1i1pgzz74-help2man-1.47.4" "/gnu/store/mf9aln8affmgaj8vkwv636cgalfqdv8g-libjpeg-9b" "/gnu/store/mfx9ib0cy6mvjfmszplnlh0dvdb0513v-tar-1.29" "/gnu/store/n04pda8i88ry820qwz2f12i99535sy3d-pcre-8.40" "/gnu/store/ng61qpn9qk82nhxarksfnv53ki2j0ld2-module-import-compiled" "/gnu/store/nrrwyb21bn8cdc0k6pis3ggs2vayibin-bash-4.4.12" "/gnu/store/pv2qmb1kjbskzph09yg06vd0wm6iwgbd-graphite2-1.3.9" "/gnu/store/px46g18zg3sjgndwdcsgm6027w7s5gbc-pkg-config-0.29.1" "/gnu/store/q1x4v3x8v2g59d244hl7k0i1n4h83c9a-ncurses-6.0" "/gnu/store/qbngj80kmydl4jsba2cdgwq2y51xlfv0-patch-2.7.5" "/gnu/store/ql5h9hxh5560d42xdirh0yxzrgii6i0m-guile-ssh-0.11.0" "/gnu/store/r1zsyinrpcpfbcym5qrx6zbk6hwzxwnm-pango-1.40.3" "/gnu/store/r4pvx277n8lcfn9xv62sx6ikspwlg3kl-libxext-1.3.3" "/gnu/store/ri56wnmzkgzrajdyl5ydc55lrwy1164k-ld-wrapper-0" "/gnu/store/rmb4nh95s22lnd42sarzj5bswakd3mxx-icu4c-58.2" "/gnu/store/rmjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25" "/gnu/store/s3c442d075fc8a0q0nspc9jjsgjq613p-bzip2-1.0.6" "/gnu/store/sjm2c0dymn3mjl7g0jqbjdbibnqh0iaw-readline-7.0" "/gnu/store/v4h4qw8a95479capaq08vs4zdyxdijhv-libunistring-0.9.7" "/gnu/store/vis7x2j2lsmwbl5m5w794c23ysqah8xh-libpng-1.6.28" "/gnu/store/vlc43y485v80sgq7iw60hzy4pw5r52d2-libssh-0.7.4" "/gnu/store/vndw4mh60kap1vwk9mj0rmf4xh9z5ndq-libxft-2.3.2" "/gnu/store/w3ng5infdzn234167kvgc6a01n0j26qc-libltdl-2.4.6" "/gnu/store/w5b3db8y2rq3d73b30m4c5z0ql270r9a-libsm-1.2.2" "/gnu/store/wak3m4kdkgw010qn1ksnqlggvklp4b24-gmp-6.1.2" "/gnu/store/wfy8pwxjbyc9033sqb1snyfla3h8d02p-libice-1.0.9" "/gnu/store/wqx8sxqjvz323vk9xalrhqk5f35yd42f-libffi-3.2.1" "/gnu/store/x8cfigwi2sf7l2aq9csfjaawn1aa4733-graphviz-2.38.0" "/gnu/store/xpldw0hzzn85074zdscjxxp5c64176hv-libtasn1-4.10" "/gnu/store/y7cgyi1syavy17kacn5s2adw20i8mglz-guix-0.13.0-checkout" "/gnu/store/yr7m8ldp3n40mrzjax91cj9hjw1k2a58-libgc-7.6.0" "/gnu/store/z0as6gp6grsqs4a8knbxkcwbyxriqmgc-gs-fonts-8.11" "/gnu/store/z1kihijf9klm5g3rzn4nk034nxhx58mn-libunistring-0.9.7" "/gnu/store/z763jk8lkragpz2qr2wbrz946lgalx2h-sed-4.4" "/gnu/store/zk41gmzbibvpx9dpsm5gs8p0liz8shy0-guile-2.0.14" "/gnu/store/zq65kpvwwxgc3qqbf9apic8gyss2l0zq-binutils-2.27" "/gnu/store/zrk4galrr3cbp4yvkn93hcq6dpkf6k98-texinfo-6.3" "/tmp/guix-build-guix-0.13.0.drv-0" "/proc" "/dev/shm" "/dev/pts")
- result: PASS
- test-name: swapon, ENOENT/EPERM
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:61
- source:
- + (test-assert
- + "swapon, ENOENT/EPERM"
- + (catch 'system-error
- + (lambda () (swapon "/does-not-exist") #f)
- + (lambda args
- + (memv (system-error-errno args)
- + (list EPERM ENOENT)))))
- actual-value: (1 2)
- result: PASS
- test-name: swapoff, ENOENT/EINVAL/EPERM
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:69
- source:
- + (test-assert
- + "swapoff, ENOENT/EINVAL/EPERM"
- + (catch 'system-error
- + (lambda () (swapoff "/does-not-exist") #f)
- + (lambda args
- + (memv (system-error-errno args)
- + (list EPERM EINVAL ENOENT)))))
- actual-value: (1 22 2)
- result: PASS
- test-name: mkdtemp!
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:77
- source:
- + (test-assert
- + "mkdtemp!"
- + (let* ((tmp (or (getenv "TMPDIR") "/tmp"))
- + (dir (mkdtemp!
- + (string-append tmp "/guix-test-XXXXXX"))))
- + (and (file-exists? dir) (begin (rmdir dir) #t))))
- actual-value: #t
- result: PASS
- test-name: statfs, ENOENT
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:85
- source:
- + (test-equal
- + "statfs, ENOENT"
- + ENOENT
- + (catch 'system-error
- + (lambda () (statfs "/does-not-exist"))
- + (compose system-error-errno list)))
- expected-value: 2
- actual-value: 2
- result: PASS
- test-name: statfs
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:92
- source:
- + (test-assert
- + "statfs"
- + (let ((fs (statfs "/")))
- + (and (file-system? fs)
- + (> (file-system-block-size fs) 0)
- + (>= (file-system-blocks-available fs) 0)
- + (>= (file-system-blocks-free fs)
- + (file-system-blocks-available fs)))))
- actual-value: #t
- result: PASS
- test-name: clone
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:110
- source:
- + (test-assert
- + "clone"
- + (match (clone (logior CLONE_NEWUSER SIGCHLD))
- + (0 (primitive-exit 42))
- + (pid (and (not (equal?
- + (readlink (user-namespace pid))
- + (readlink (user-namespace (getpid)))))
- + (match (waitpid pid)
- + ((_ . status) (= 42 (status:exit-val status))))))))
- result: SKIP
- test-name: setns
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:124
- source:
- + (test-assert
- + "setns"
- + (match (clone (logior CLONE_NEWUSER SIGCHLD))
- + (0 (primitive-exit 0))
- + (clone-pid
- + (match (pipe)
- + ((in . out)
- + (match (primitive-fork)
- + (0
- + (close in)
- + (call-with-input-file
- + (user-namespace clone-pid)
- + (lambda (port) (setns (port->fdes port) 0)))
- + (write 'done out)
- + (close out)
- + (primitive-exit 0))
- + (fork-pid
- + (close out)
- + (read in)
- + (let ((result
- + (and (equal?
- + (readlink
- + (user-namespace clone-pid))
- + (readlink
- + (user-namespace fork-pid))))))
- + (waitpid clone-pid)
- + (waitpid fork-pid)
- + result))))))))
- result: SKIP
- test-name: pivot-root
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:157
- source:
- + (test-equal
- + "pivot-root"
- + #t
- + (match (pipe)
- + ((in . out)
- + (match (clone (logior CLONE_NEWUSER CLONE_NEWNS SIGCHLD))
- + (0
- + (dynamic-wind
- + (const #t)
- + (lambda ()
- + (close in)
- + (call-with-temporary-directory
- + (lambda (root)
- + (let ((put-old (string-append root "/real-root")))
- + (mount "none" root "tmpfs")
- + (mkdir put-old)
- + (call-with-output-file
- + (string-append root "/test")
- + (lambda (port) (display "testing\n" port)))
- + (pivot-root root put-old)
- + (write (file-exists? "/test") out)
- + (close out)))))
- + (lambda () (primitive-exit 0))))
- + (pid (close out)
- + (let ((result (read in)))
- + (close in)
- + (and (zero? (match (waitpid pid)
- + ((_ . status)
- + (status:exit-val status))))
- + (eq? #t result))))))))
- result: SKIP
- test-name: fcntl-flock wait
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:191
- source:
- + (test-equal
- + "fcntl-flock wait"
- + 42
- + (let ((file (open-file temp-file "w0b")))
- + (fcntl-flock file 'write-lock)
- + (match (primitive-fork)
- + (0
- + (dynamic-wind
- + (const #t)
- + (lambda ()
- + (let ((file (open-file temp-file "r0b")))
- + (fcntl-flock file 'read-lock)
- + (primitive-exit (read file)))
- + (primitive-exit 1))
- + (lambda () (primitive-exit 2))))
- + (pid (display "hello, world!" file)
- + (force-output file)
- + (sleep 1)
- + (seek file 0 SEEK_SET)
- + (truncate-file file 0)
- + (write 42 file)
- + (force-output file)
- + (fcntl-flock file 'unlock)
- + (match (waitpid pid)
- + ((_ . status)
- + (let ((result (status:exit-val status)))
- + (close-port file)
- + result)))))))
- (string-append root "/test")
- + (lambda (port) (display "testing\n" port)))
- + (pivot-root root put-old)
- + (write (file-exists? "/test") out)
- + (close out)))))
- + (lambda () (primitive-exit 0))))
- + (pid (close out)
- + (let ((result (read in)))
- + (close in)
- + (and (zero? (match (waitpid pid)
- + ((_ . status)
- + (status:exit-val status))))
- + (eq? #t result))))))))
- result: SKIP
- test-name: fcntl-flock wait
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:191
- source:
- + (test-equal
- + "fcntl-flock wait"
- + 42
- + (let ((file (open-file temp-file "w0b")))
- + (fcntl-flock file 'write-lock)
- + (match (primitive-fork)
- + (0
- + (dynamic-wind
- + (const #t)
- + (lambda ()
- + (let ((file (open-file temp-file "r0b")))
- + (fcntl-flock file 'read-lock)
- + (primitive-exit (read file)))
- + (primitive-exit 1))
- + (lambda () (primitive-exit 2))))
- + (pid (display "hello, world!" file)
- + (force-output file)
- + (sleep 1)
- + (seek file 0 SEEK_SET)
- + (truncate-file file 0)
- + (write 42 file)
- + (force-output file)
- + (fcntl-flock file 'unlock)
- + (match (waitpid pid)
- + ((_ . status)
- + (let ((result (status:exit-val status)))
- + (close-port file)
- + result)))))))
- expected-value: 42
- actual-value: 42
- result: PASS
- test-name: fcntl-flock non-blocking
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:230
- source:
- + (test-equal
- + "fcntl-flock non-blocking"
- + EAGAIN
- + (match (pipe)
- + ((input . output)
- + (match (primitive-fork)
- + (0
- + (dynamic-wind
- + (const #t)
- + (lambda ()
- + (close-port output)
- + (read-char input)
- + (let ((file (open-file temp-file "w0")))
- + (catch 'flock-error
- + (lambda ()
- + (fcntl-flock file 'write-lock #:wait? #f))
- + (lambda (key errno)
- + (primitive-exit (pk 'errno errno)))))
- + (primitive-exit -1))
- + (lambda () (primitive-exit -2))))
- + (pid (close-port input)
- + (let ((file (open-file temp-file "w0")))
- + (fcntl-flock file 'write-lock)
- + (write 'green-light output)
- + (force-output output)
- + (match (waitpid pid)
- + ((_ . status)
- + (let ((result (status:exit-val status)))
- + (fcntl-flock file 'unlock)
- + (close-port file)
- + result)))))))))
- ;;; (errno 11)
- (string-append root "/test")
- + (lambda (port) (display "testing\n" port)))
- + (pivot-root root put-old)
- + (write (file-exists? "/test") out)
- + (close out)))))
- + (lambda () (primitive-exit 0))))
- + (pid (close out)
- + (let ((result (read in)))
- + (close in)
- + (and (zero? (match (waitpid pid)
- + ((_ . status)
- + (status:exit-val status))))
- + (eq? #t result))))))))
- result: SKIP
- test-name: fcntl-flock wait
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:191
- source:
- + (test-equal
- + "fcntl-flock wait"
- + 42
- + (let ((file (open-file temp-file "w0b")))
- + (fcntl-flock file 'write-lock)
- + (match (primitive-fork)
- + (0
- + (dynamic-wind
- + (const #t)
- + (lambda ()
- + (let ((file (open-file temp-file "r0b")))
- + (fcntl-flock file 'read-lock)
- + (primitive-exit (read file)))
- + (primitive-exit 1))
- + (lambda () (primitive-exit 2))))
- + (pid (display "hello, world!" file)
- + (force-output file)
- + (sleep 1)
- + (seek file 0 SEEK_SET)
- + (truncate-file file 0)
- + (write 42 file)
- + (force-output file)
- + (fcntl-flock file 'unlock)
- + (match (waitpid pid)
- + ((_ . status)
- + (let ((result (status:exit-val status)))
- + (close-port file)
- + result)))))))
- expected-value: 42
- actual-value: 42
- result: PASS
- test-name: fcntl-flock non-blocking
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:230
- source:
- + (test-equal
- + "fcntl-flock non-blocking"
- + EAGAIN
- + (match (pipe)
- + ((input . output)
- + (match (primitive-fork)
- + (0
- + (dynamic-wind
- + (const #t)
- + (lambda ()
- + (close-port output)
- + (read-char input)
- + (let ((file (open-file temp-file "w0")))
- + (catch 'flock-error
- + (lambda ()
- + (fcntl-flock file 'write-lock #:wait? #f))
- + (lambda (key errno)
- + (primitive-exit (pk 'errno errno)))))
- + (primitive-exit -1))
- + (lambda () (primitive-exit -2))))
- + (pid (close-port input)
- + (let ((file (open-file temp-file "w0")))
- + (fcntl-flock file 'write-lock)
- + (write 'green-light output)
- + (force-output output)
- + (match (waitpid pid)
- + ((_ . status)
- + (let ((result (status:exit-val status)))
- + (fcntl-flock file 'unlock)
- + (close-port file)
- + result)))))))))
- expected-value: 11
- actual-value: 11
- result: PASS
- test-name: all-network-interface-names
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:272
- source:
- + (test-assert
- + "all-network-interface-names"
- + (match (all-network-interface-names)
- + (((? string? names) ..1) (member "lo" names))))
- actual-value: ("lo")
- result: PASS
- test-name: network-interface-names
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:277
- source:
- + (test-assert
- + "network-interface-names"
- + (match (network-interface-names)
- + (((? string? names) ..1)
- + (lset<=
- + string=?
- + names
- + (all-network-interface-names)))))
- actual-value: #t
- result: PASS
- test-name: network-interface-flags
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:282
- source:
- + (test-assert
- + "network-interface-flags"
- + (let* ((sock (socket AF_INET SOCK_STREAM 0))
- + (flags (network-interface-flags sock "lo")))
- + (close-port sock)
- + (and (not (zero? (logand flags IFF_LOOPBACK)))
- + (not (zero? (logand flags IFF_UP))))))
- actual-value: #t
- result: PASS
- test-name: loopback-network-interface?
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:289
- source:
- + (test-equal
- + "loopback-network-interface?"
- + ENODEV
- + (and (loopback-network-interface? "lo")
- + (catch 'system-error
- + (lambda ()
- + (loopback-network-interface? "nonexistent")
- + #f)
- + (lambda args (system-error-errno args)))))
- expected-value: 19
- actual-value: 19
- result: PASS
- test-name: set-network-interface-flags
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:300
- source:
- + (test-assert
- + "set-network-interface-flags"
- + (let ((sock (socket AF_INET SOCK_STREAM 0)))
- + (catch 'system-error
- + (lambda ()
- + (set-network-interface-flags sock "lo" IFF_UP))
- + (lambda args
- + (close-port sock)
- + (memv (system-error-errno args)
- + (list EPERM EACCES))))))
- actual-value: (1 13)
- result: PASS
- test-name: network-interface-address lo
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:310
- source:
- + (test-equal
- + "network-interface-address lo"
- + (make-socket-address
- + AF_INET
- + (inet-pton AF_INET "127.0.0.1")
- + 0)
- + (let* ((sock (socket AF_INET SOCK_STREAM 0))
- + (addr (network-interface-address sock "lo")))
- + (close-port sock)
- + addr))
- expected-value: #(2 2130706433 0)
- actual-value: #(2 2130706433 0)
- result: PASS
- test-name: set-network-interface-address
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:318
- source:
- + (test-assert
- + "set-network-interface-address"
- + (let ((sock (socket AF_INET SOCK_STREAM 0)))
- + (catch 'system-error
- + (lambda ()
- + (set-network-interface-address
- + sock
- + "nonexistent"
- + (make-socket-address
- + AF_INET
- + (inet-pton AF_INET "127.12.14.15")
- + 0)))
- + (lambda args
- + (close-port sock)
- + (memv (system-error-errno args)
- + (list EPERM EACCES))))))
- actual-value: (1 13)
- result: PASS
- test-name: network-interface-netmask lo
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:332
- source:
- + (test-equal
- + "network-interface-netmask lo"
- + (make-socket-address
- + AF_INET
- + (inet-pton AF_INET "255.0.0.0")
- + 0)
- + (let* ((sock (socket AF_INET SOCK_STREAM 0))
- + (addr (network-interface-netmask sock "lo")))
- + (close-port sock)
- + addr))
- expected-value: #(2 4278190080 0)
- actual-value: #(2 4278190080 0)
- result: PASS
- test-name: set-network-interface-netmask
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:340
- source:
- + (test-assert
- + "set-network-interface-netmask"
- + (let ((sock (socket AF_INET SOCK_STREAM 0)))
- + (catch 'system-error
- + (lambda ()
- + (set-network-interface-netmask
- + sock
- + "nonexistent"
- + (make-socket-address
- + AF_INET
- + (inet-pton AF_INET "255.0.0.0")
- + 0)))
- + (lambda args
- + (close-port sock)
- + (memv (system-error-errno args)
- + (list EPERM EACCES))))))
- actual-value: (1 13)
- result: PASS
- test-name: network-interfaces returns one or more interfaces
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:353
- source:
- + (test-equal
- + "network-interfaces returns one or more interfaces"
- + '(#t #t #t)
- + (match (network-interfaces)
- + ((interfaces ..1)
- + (list (every interface? interfaces)
- + (every string? (map interface-name interfaces))
- + (every (lambda (sockaddr)
- + (or (vector? sockaddr) (not sockaddr)))
- + (map interface-address interfaces))))))
- expected-value: (#t #t #t)
- actual-value: (#t #t #t)
- result: PASS
- test-name: network-interfaces returns "lo"
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:365
- source:
- + (test-equal
- + "network-interfaces returns \"lo\""
- + (list #t
- + (make-socket-address
- + AF_INET
- + (inet-pton AF_INET "127.0.0.1")
- + 0))
- + (match (filter
- + (lambda (interface)
- + (string=? "lo" (interface-name interface)))
- + (network-interfaces))
- + ((loopbacks ..1)
- + (list (every (lambda (lo)
- + (not (zero? (logand
- + IFF_LOOPBACK
- + (interface-flags lo)))))
- + loopbacks)
- + (match (find (lambda (lo)
- + (= AF_INET
- + (sockaddr:fam (interface-address lo))))
- + loopbacks)
- + (#f #f)
- + (lo (interface-address lo)))))))
- expected-value: (#t #(2 2130706433 0))
- actual-value: (#t #(2 2130706433 0))
- result: PASS
- test-name: add-network-route/gateway
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:381
- source:
- + (test-assert
- + "add-network-route/gateway"
- + (let ((sock (socket AF_INET SOCK_STREAM 0))
- + (gateway
- + (make-socket-address
- + AF_INET
- + (inet-pton AF_INET "192.168.0.1")
- + 0)))
- + (catch 'system-error
- + (lambda ()
- + (add-network-route/gateway sock gateway))
- + (lambda args
- + (close-port sock)
- + (memv (system-error-errno args)
- + (list EPERM EACCES))))))
- actual-value: (1 13)
- result: PASS
- test-name: delete-network-route
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:394
- source:
- + (test-assert
- + "delete-network-route"
- + (let ((sock (socket AF_INET SOCK_STREAM 0))
- + (destination
- + (make-socket-address AF_INET INADDR_ANY 0)))
- + (catch 'system-error
- + (lambda ()
- + (delete-network-route sock destination))
- + (lambda args
- + (close-port sock)
- + (memv (system-error-errno args)
- + (list EPERM EACCES))))))
- actual-value: (1 13)
- result: PASS
- test-name: tcgetattr ENOTTY
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:404
- source:
- + (test-equal
- + "tcgetattr ENOTTY"
- + ENOTTY
- + (catch 'system-error
- + (lambda ()
- + (call-with-input-file
- + "/dev/null"
- + (lambda (port) (tcgetattr (fileno port)))))
- + (compose system-error-errno list)))
- expected-value: 25
- actual-value: 25
- result: PASS
- test-name: tcgetattr
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:418
- source:
- + (test-assert
- + "tcgetattr"
- + (let ((termios (tcgetattr 0)))
- + (and (termios? termios)
- + (> (termios-input-speed termios) 0)
- + (> (termios-output-speed termios) 0))))
- result: SKIP
- test-name: tcsetattr
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:424
- source:
- + (test-assert
- + "tcsetattr"
- + (let ((first (tcgetattr 0)))
- + (tcsetattr 0 (tcsetattr-action TCSANOW) first)
- + (equal? first (tcgetattr 0))))
- result: SKIP
- test-name: terminal-window-size ENOTTY
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:429
- source:
- + (test-assert
- + "terminal-window-size ENOTTY"
- + (call-with-input-file
- + "/dev/null"
- + (lambda (port)
- + (catch 'system-error
- + (lambda () (terminal-window-size port))
- + (lambda args
- + (memv (system-error-errno args)
- + (list ENOTTY EINVAL)))))))
- actual-value: (25 22)
- result: PASS
- test-name: terminal-columns
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:440
- source:
- + (test-assert
- + "terminal-columns"
- + (> (terminal-columns) 0))
- actual-value: #t
- result: PASS
- test-name: terminal-columns non-file port
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:443
- source:
- + (test-assert
- + "terminal-columns non-file port"
- + (> (terminal-columns
- + (open-input-string
- + "Join us now, share the software!"))
- + 0))
- actual-value: #t
- result: PASS
- test-name: utmpx-entries
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:447
- source:
- + (test-assert
- + "utmpx-entries"
- + (match (utmpx-entries)
- + (((? utmpx? entries) ...)
- + (every (lambda (entry)
- + (match (utmpx-user entry)
- + ((? string?)
- + (or (eqv? (login-type BOOT_TIME)
- + (utmpx-login-type entry))
- + (> (utmpx-pid entry) 0)))
- + (#f #t)))
- + entries))))
- actual-value: #t
- result: PASS
- test-name: read-utmpx, EOF
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:459
- source:
- + (test-assert
- + "read-utmpx, EOF"
- + (eof-object? (read-utmpx (%make-void-port "r"))))
- actual-value: #t
- result: PASS
- test-name: read-utmpx
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/syscalls.scm:464
- source:
- + (test-assert
- + "read-utmpx"
- + (let ((result
- + (call-with-input-file
- + "/var/run/utmpx"
- + read-utmpx)))
- + (or (utmpx? result) (eof-object? result))))
- result: SKIP
- SKIP: tests/gremlin
- ===================
- test-name: elf-dynamic-info-needed, executable
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/gremlin.scm:44
- source:
- + (test-assert
- + "elf-dynamic-info-needed, executable"
- + (let* ((elf (call-with-input-file %guile-executable read-elf))
- + (dyninfo (elf-dynamic-info elf)))
- + (or (not dyninfo)
- + (lset<=
- + string=?
- + (list (string-append "libguile-" (effective-version))
- + "libgc"
- + "libunistring"
- + "libffi")
- + (map (lambda (lib)
- + (string-take lib (string-contains lib ".so")))
- + (elf-dynamic-info-needed dyninfo))))))
- result: SKIP
- test-name: expand-origin
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/gremlin.scm:55
- source:
- + (test-equal
- + "expand-origin"
- + '("OOO/../lib"
- + "OOO"
- + "../OOO/bar/OOO/baz"
- + "ORIGIN/foo")
- + (map (cut expand-origin <> "OOO")
- + '("$ORIGIN/../lib"
- + "${ORIGIN}"
- + "../${ORIGIN}/bar/$ORIGIN/baz"
- + "ORIGIN/foo")))
- expected-value: ("OOO/../lib" "OOO" "../OOO/bar/OOO/baz" "ORIGIN/foo")
- actual-value: ("OOO/../lib" "OOO" "../OOO/bar/OOO/baz" "ORIGIN/foo")
- result: PASS
- SKIP: tests/containers
- ======================
- test-name: call-with-container, exit with 0 when there is no error
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/containers.scm:42
- source:
- + (test-assert
- + "call-with-container, exit with 0 when there is no error"
- + (zero? (call-with-container
- + '()
- + (const #t)
- + #:namespaces
- + '(user))))
- result: SKIP
- test-name: call-with-container, user namespace
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/containers.scm:48
- source:
- + (test-assert
- + "call-with-container, user namespace"
- + (zero? (call-with-container
- + '()
- + (lambda ()
- + (assert-exit
- + (and (zero? (getuid)) (zero? (getgid)))))
- + #:namespaces
- + '(user))))
- result: SKIP
- test-name: call-with-container, uts namespace
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/containers.scm:58
- source:
- + (test-assert
- + "call-with-container, uts namespace"
- + (zero? (call-with-container
- + '()
- + (lambda ()
- + (sethostname "test-container")
- + (primitive-exit 0))
- + #:namespaces
- + '(user uts))))
- result: SKIP
- test-name: call-with-container, pid namespace
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/containers.scm:70
- source:
- + (test-assert
- + "call-with-container, pid namespace"
- + (zero? (call-with-container
- + '()
- + (lambda ()
- + (match (primitive-fork)
- + (0 (assert-exit (= 2 (getpid))))
- + (pid (primitive-exit
- + (match (waitpid pid)
- + ((_ . status)
- + (status:exit-val status)))))))
- + #:namespaces
- + '(user pid))))
- result: SKIP
- test-name: call-with-container, mnt namespace
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/containers.scm:87
- source:
- + (test-assert
- + "call-with-container, mnt namespace"
- + (zero? (call-with-container
- + (list (file-system
- + (device "none")
- + (mount-point "/testing")
- + (type "tmpfs")
- + (check? #f)))
- + (lambda ()
- + (assert-exit (file-exists? "/testing")))
- + #:namespaces
- + '(user mnt))))
- result: SKIP
- test-name: call-with-container, mnt namespace, wrong bind mount
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/containers.scm:100
- source:
- + (test-equal
- + "call-with-container, mnt namespace, wrong bind mount"
- + `(system-error ,ENOENT)
- + (catch 'system-error
- + (lambda ()
- + (call-with-container
- + (list (file-system
- + (device "/does-not-exist")
- + (mount-point "/foo")
- + (type "none")
- + (flags '(bind-mount))
- + (check? #f)))
- + (const #t)
- + #:namespaces
- + '(user mnt)))
- + (lambda args
- + (list 'system-error (system-error-errno args)))))
- result: SKIP
- test-name: call-with-container, all namespaces
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/containers.scm:118
- source:
- + (test-assert
- + "call-with-container, all namespaces"
- + (zero? (call-with-container
- + '()
- + (lambda () (primitive-exit 0)))))
- result: SKIP
- test-name: container-excursion
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/containers.scm:126
- source:
- + (test-assert
- + "container-excursion"
- + (call-with-temporary-directory
- + (lambda (root)
- + (match (list (pipe) (pipe))
- + (((start-in . start-out) (end-in . end-out))
- + (define (container)
- + (close end-out)
- + (close start-in)
- + (write 'ready start-out)
- + (close start-out)
- + (read end-in)
- + (close end-in))
- + (define (namespaces pid)
- + (let ((pid (number->string pid)))
- + (map (lambda (ns)
- + (readlink (string-append "/proc/" pid "/ns/" ns)))
- + '("user" "ipc" "uts" "net" "pid" "mnt"))))
- + (let* ((pid (run-container root '() %namespaces 1 container))
- + (container-namespaces (namespaces pid))
- + (result
- + (begin
- + (close start-out)
- + (read start-in)
- + (close start-in)
- + (container-excursion
- + pid
- + (lambda ()
- + (match (primitive-fork)
- + (0
- + (assert-exit
- + (equal?
- + container-namespaces
- + (namespaces (getpid)))))
- + (fork-pid
- + (match (waitpid fork-pid)
- + ((_ . status)
- + (primitive-exit
- + (status:exit-val
- + status)))))))))))
- + (close end-in)
- + (write 'done end-out)
- + (close end-out)
- + (waitpid pid)
- + (zero? result)))))))
- result: SKIP
- test-name: container-excursion, same namespaces
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/containers.scm:184
- source:
- + (test-equal
- + "container-excursion, same namespaces"
- + 42
- + (container-excursion
- + (getpid)
- + (lambda () (primitive-exit 42))))
- result: SKIP
- test-name: container-excursion*
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/containers.scm:194
- source:
- + (test-assert
- + "container-excursion*"
- + (call-with-temporary-directory
- + (lambda (root)
- + (define (namespaces pid)
- + (let ((pid (number->string pid)))
- + (map (lambda (ns)
- + (readlink (string-append "/proc/" pid "/ns/" ns)))
- + '("user" "ipc" "uts" "net" "pid" "mnt"))))
- + (let* ((pid (run-container
- + root
- + '()
- + %namespaces
- + 1
- + (lambda () (sleep 100))))
- + (result
- + (container-excursion*
- + pid
- + (lambda () (namespaces 1)))))
- + (kill pid SIGKILL)
- + (equal? result (namespaces pid))))))
- result: SKIP
- test-name: container-excursion*, same namespaces
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/containers.scm:215
- source:
- + (test-equal
- + "container-excursion*, same namespaces"
- + 42
- + (container-excursion*
- + (getpid)
- + (lambda () (* 6 7))))
- result: SKIP
- SKIP: tests/pack
- ================
- random seed for tests: 1495496074
- test-name: self-contained-tarball
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/pack.scm:54
- source:
- + (test-assert
- + "self-contained-tarball"
- + (run-with-store
- + %store
- + (mlet* %store-monad
- + ((profile
- + (profile-derivation
- + (packages->manifest (list %bootstrap-guile))
- + #:hooks
- + '()
- + #:locales?
- + #f))
- + (tarball
- + (self-contained-tarball
- + "pack"
- + profile
- + #:symlinks
- + '(("/bin/Guile" -> "bin/guile"))
- + #:compressor
- + %gzip-compressor
- + #:tar
- + %tar-bootstrap))
- + (check (gexp->derivation
- + "check-tarball"
- + (gexp (let ((guile (string-append
- + "."
- + (ungexp profile)
- + "/bin")))
- + (setenv
- + "PATH"
- + (string-append
- + (ungexp %tar-bootstrap)
- + "/bin"))
- + (system* "tar" "xvf" (ungexp tarball))
- + (mkdir (ungexp output))
- + (exit (and (file-exists?
- + (string-append guile "/guile"))
- + (string=?
- + (string-append
- + (ungexp %bootstrap-guile)
- + "/bin")
- + (readlink guile))
- + (string=?
- + (string-append
- + (string-drop guile 1)
- + "/guile")
- + (readlink "bin/Guile")))))))))
- + (built-derivations (list check)))
- + #:guile-for-build
- + (%guile-for-build)))
- result: SKIP
- SKIP: tests/pypi
- ================
- test-name: guix-package->pypi-name, old URL style
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/pypi.scm:78
- source:
- + (test-equal
- + "guix-package->pypi-name, old URL style"
- + "psutil"
- + (guix-package->pypi-name
- + (dummy-package
- + "foo"
- + (source
- + (dummy-origin
- + (uri "https://pypi.io/packages/source/p/psutil/psutil-4.3.0.tar.gz"))))))
- expected-value: "psutil"
- actual-value: "psutil"
- result: PASS
- test-name: guix-package->pypi-name, new URL style
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/pypi.scm:86
- source:
- + (test-equal
- + "guix-package->pypi-name, new URL style"
- + "certbot"
- + (guix-package->pypi-name
- + (dummy-package
- + "foo"
- + (source
- + (dummy-origin
- + (uri "https://pypi.python.org/packages/a2/3b/4756e6a0ceb14e084042a2a65c615d68d25621c6fd446d0fc10d14c4ce7d/certbot-0.8.1.tar.gz"))))))
- expected-value: "certbot"
- actual-value: "certbot"
- result: PASS
- test-name: guix-package->pypi-name, several URLs
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/pypi.scm:94
- source:
- + (test-equal
- + "guix-package->pypi-name, several URLs"
- + "cram"
- + (guix-package->pypi-name
- + (dummy-package
- + "foo"
- + (source
- + (dummy-origin
- + (uri (list "https://bitheap.org/cram/cram-0.7.tar.gz"
- + (pypi-uri "cram" "0.7"))))))))
- expected-value: "cram"
- actual-value: "cram"
- result: PASS
- test-name: pypi->guix-package
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/pypi.scm:103
- source:
- + (test-assert
- + "pypi->guix-package"
- + (mock ((guix import utils)
- + url-fetch
- + (lambda (url file-name)
- + (match url
- + ("https://example.com/foo-1.0.0.tar.gz"
- + (begin
- + (mkdir "foo-1.0.0")
- + (with-output-to-file
- + "foo-1.0.0/requirements.txt"
- + (lambda () (display test-requirements)))
- + (system* "tar" "czvf" file-name "foo-1.0.0/")
- + (delete-file-recursively "foo-1.0.0")
- + (set! test-source-hash
- + (call-with-input-file file-name port-sha256))))
- + ("https://example.com/foo-1.0.0-py2.py3-none-any.whl"
- + #f)
- + (_ (error "Unexpected URL: " url)))))
- + (mock ((guix http-client)
- + http-fetch
- + (lambda (url . rest)
- + (match url
- + ("https://pypi.python.org/pypi/foo/json"
- + (values
- + (open-input-string test-json)
- + (string-length test-json)))
- + ("https://example.com/foo-1.0.0-py2.py3-none-any.whl"
- + #f)
- + (_ (error "Unexpected URL: " url)))))
- + (match (pypi->guix-package "foo")
- + (('package
- + ('name "python-foo")
- + ('version "1.0.0")
- + ('source
- + ('origin
- + ('method 'url-fetch)
- + ('uri
- + (string-append
- + "https://example.com/foo-"
- + version
- + ".tar.gz"))
- + ('sha256 ('base32 (? string? hash)))))
- + ('build-system 'python-build-system)
- + ('propagated-inputs
- + ('quasiquote
- + (("python-bar" ('unquote 'python-bar))
- + ("python-baz" ('unquote 'python-baz)))))
- + ('home-page "http://example.com")
- + ('synopsis "summary")
- + ('description "summary")
- + ('license 'license:lgpl2.0))
- + (string=?
- + (bytevector->nix-base32-string test-source-hash)foo-1.0.0/
- foo-1.0.0/requirements.txt
- random seed for tests: 1495496117
- + hash))
- + (x (pk 'fail x #f))))))
- actual-value: #t
- result: PASS
- test-name: pypi->guix-package, wheels
- location: /tmp/guix-build-guix-0.13.0.drv-0/source/tests/pypi.scm:155
- source:
- + (test-assert
- + "pypi->guix-package, wheels"
- + (mock ((guix import utils)
- + url-fetch
- + (lambda (url file-name)
- + (match url
- + ("https://example.com/foo-1.0.0.tar.gz"
- + (begin
- + (mkdir "foo-1.0.0")
- + (with-output-to-file
- + "foo-1.0.0/requirements.txt"
- + (lambda () (display test-requirements)))
- + (system* "tar" "czvf" file-name "foo-1.0.0/")
- + (delete-file-recursively "foo-1.0.0")
- + (set! test-source-hash
- + (call-with-input-file file-name port-sha256))))
- + ("https://example.com/foo-1.0.0-py2.py3-none-any.whl"
- + (begin
- + (mkdir "foo-1.0.0.dist-info")
- + (with-output-to-file
- + "foo-1.0.0.dist-info/metadata.json"
- + (lambda () (display test-metadata)))
- + (let ((zip-file (string-append file-name ".zip")))
- + (system*
- + "zip"
- + zip-file
- + "foo-1.0.0.dist-info/metadata.json")
- + (rename-file zip-file file-name))
- + (delete-file-recursively "foo-1.0.0.dist-info")))
- + (_ (error "Unexpected URL: " url)))))
- + (mock ((guix http-client)
- + http-fetch
- + (lambda (url . rest)
- + (match url
- + ("https://pypi.python.org/pypi/foo/json"
- + (values
- + (open-input-string test-json)
- + (string-length test-json)))
- + ("https://example.com/foo-1.0.0-py2.py3-none-any.whl"
- + #f)
- + (_ (error "Unexpected URL: " url)))))
- + (match (pypi->guix-package "foo")
- + (('package
- + ('name "python-foo")
- + ('version "1.0.0")
- + ('source
- + ('origin
- + ('method 'url-fetch)
- + ('uri
- + (string-append
- + "https://example.com/foo-"
- + version
- + ".tar.gz"))
- + ('sha256 ('base32 (? string? hash)))))
- + ('build-system 'python-build-system)
- + ('propagated-inputs
- + ('quasiquote
- + (("python-bar" ('unquote 'python-bar))
- + ("python-baz" ('unquote 'python-baz)))))
- + ('home-page "http://example.com")
- + ('synopsis "summary")
- + ('description "summary")
- + ('license 'license:lgpl2.0))
- + (string=?
- + (bytevector->nix-base32-string test-source-hash)
- + hash))
- + (x (pk 'fail x #f))))))
- result: SKIP
- SKIP: tests/guix-package-net
- ============================
- + guix package --version
- guix package (GNU Guix)
- Copyright (C) 2017 the Guix authors
- License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
- This is free software: you are free to change and redistribute it.
- There is NO WARRANTY, to the extent permitted by law.
- + guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)'
- + exit 77
- ./test-env: line 1: 15642 Terminated "/tmp/guix-build-guix-0.13.0.drv-0/source/pre-inst-env" "/tmp/guix-build-guix-0.13.0.drv-0/source/guix-daemon" --disable-chroot --substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL"
- SKIP tests/guix-package-net.sh (exit status: 77)
- SKIP: tests/guix-environment-container
- ======================================
- + set -e
- + exit 77
- ./test-env: line 1: 16255 Terminated "/tmp/guix-build-guix-0.13.0.drv-0/source/pre-inst-env" "/tmp/guix-build-guix-0.13.0.drv-0/source/guix-daemon" --disable-chroot --substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL"
- SKIP tests/guix-environment-container.sh (exit status: 77)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement