================================= GNU Guix : ./test-suite.log ================================= # TOTAL: 746 # PASS: 713 # SKIP: 32 # XFAIL: 0 # FAIL: 1 # 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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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: 1511176765 test-name: file->cpio-header + write-cpio-header + read-cpio-header location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-10.0b4c385.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: 1511176912 test-name: url-fetch location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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: 1511176943 @ 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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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" + @ 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 . 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/5fz6s5yzqvl7rm7sqwhrrci11i9ndb5c-sleep-then-succeed.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/5f//z6s5yzqvl7rm7sqwhrrci11i9ndb5c-sleep-then-succeed.drv.bz2 @ build-succeeded /tmp/guix-tests/store/5fz6s5yzqvl7rm7sqwhrrci11i9ndb5c-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 - "(while read line ; do echo \"$line\" ; done) < $in > $out" + '())) + (input (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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.drv-0/source/tests/derivations.scm:218 source: + (test-assert + "unknown built-in builder" + (let ((drv (derivation + %store + "ohoh" + "builtin:does-not-exist" + @ 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/a4s556ss3gldx6d241b04fcmry09a63k-world.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/a4//s556ss3gldx6d241b04fcmry09a63k-world.drv.bz2 Starting download of /tmp/guix-tests/store/527r43p02z2b2fm78d9x1qcqvk6zn9ix-world From http://localhost:10500/foo/bar...  bar 63B 0B/s 00:00 [ ] 0.0%  bar 63B 380KiB/s 00:00 [####################] 100.0%  bar 63B 233KiB/s 00:00 [####################] 100.0% @ build-succeeded /tmp/guix-tests/store/a4s556ss3gldx6d241b04fcmry09a63k-world.drv - @ build-started /tmp/guix-tests/store/749a49raski851qzr114y2c8spvmdhbw-world.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/74//9a49raski851qzr114y2c8spvmdhbw-world.drv.bz2 Starting download of /tmp/guix-tests/store/2byzl1xvjnjssb4dqxgj59wgp2wgvac5-world From http://localhost:10500/foo/bar...  bar 13B 0B/s 00:00 [ ] 0.0%  bar 13B 82KiB/s 00:00 [####################] 100.0%  bar 13B 46KiB/s 00:00 [####################] 100.0% sha256 hash mismatch for output path `/tmp/guix-tests/store/2byzl1xvjnjssb4dqxgj59wgp2wgvac5-world' expected: 1wxgh5ri0789mjlkwp7pz6fdjjydcvfrlz5l3082lz4qji6dvlcn actual: 0a7pd3rizm1qb3kz1ad1wzrijrhwsnq3lj7qprc86zp6a6r5drk8 @ build-failed /tmp/guix-tests/store/749a49raski851qzr114y2c8spvmdhbw-world.drv - 1 sha256 hash mismatch for output path `/tmp/guix-tests/store/2byzl1xvjnjssb4dqxgj59wgp2wgvac5-world' expected: 1wxgh5ri0789mjlkwp7pz6fdjjydcvfrlz5l3082lz4qji6dvlcn actual: 0a7pd3rizm1qb3kz1ad1wzrijrhwsnq3lj7qprc86zp6a6r5drk8 @ build-started /tmp/guix-tests/store/phmd9p9syg1r3wqj2l33z9nin4wylvrx-will-never-be-found.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/ph//md9p9syg1r3wqj2l33z9nin4wylvrx-will-never-be-found.drv.bz2 Starting download of /tmp/guix-tests/store/77lf1ym6z8rb9r9vrr1f2nymadgcrsdk-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/77lf1ym6z8rb9r9vrr1f2nymadgcrsdk-will-never-be-found" from "http://localhost:10500/foo/bar" builder for `/tmp/guix-tests/store/phmd9p9syg1r3wqj2l33z9nin4wylvrx-will-never-be-found.drv' failed to produce output path `/tmp/guix-tests/store/77lf1ym6z8rb9r9vrr1f2nymadgcrsdk-will-never-be-found' @ build-failed /tmp/guix-tests/store/phmd9p9syg1r3wqj2l33z9nin4wylvrx-will-never-be-found.drv - 1 builder for `/tmp/guix-tests/store/phmd9p9syg1r3wqj2l33z9nin4wylvrx-will-never-be-found.drv' failed to produce output path `/tmp/guix-tests/store/77lf1ym6z8rb9r9vrr1f2nymadgcrsdk-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 '()))) + (guard (c ((nix-protocol-error? c) + (string-contains + (nix-protocol-error-message c) + "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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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)))) ;;; (#) actual-value: 90 result: PASS test-name: 'download' built-in builder, not fixed-output location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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: @ build-started /tmp/guix-tests/store/q7wqn3h7wa49d4r6lgl6knqvh37sgx5r-world.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/q7//wqn3h7wa49d4r6lgl6knqvh37sgx5r-world.drv.bz2 Starting download of /tmp/guix-tests/store/x2s0lp5y860hccpxlrwy1bnnr48j89z9-world From http://localhost:10500/foo/bar...  bar 64B 0B/s 00:00 [ ] 0.0%  bar 64B 398KiB/s 00:00 [####################] 100.0%  bar 64B 228KiB/s 00:00 [####################] 100.0% @ build-succeeded /tmp/guix-tests/store/q7wqn3h7wa49d4r6lgl6knqvh37sgx5r-world.drv - @ build-started /tmp/guix-tests/store/q7wqn3h7wa49d4r6lgl6knqvh37sgx5r-world.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/q7//wqn3h7wa49d4r6lgl6knqvh37sgx5r-world.drv.bz2 Starting download of /tmp/guix-tests/store/0636dm0c3f6m74ivka7rfp754v6i8blx-world From http://localhost:10500/foo/bar...  bar 64B 0B/s 00:00 [ ] 0.0%  bar 64B 357KiB/s 00:00 [####################] 100.0%  bar 64B 218KiB/s 00:00 [####################] 100.0% warning: rewriting hashes in `/tmp/guix-tests/store/x2s0lp5y860hccpxlrwy1bnnr48j89z9-world'; cross fingers 'download' built-in builder, check mode location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/derivations.scm:284 source: + (test-assert + "'download' built-in builder, check mode" + (let* ((text (random-text)) + (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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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 + @ 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 - #: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-10.0b4c385.drv-0/source/tests/derivations.scm:344 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)) + (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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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" + @ 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 - "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 + %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-10.0b4c385.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-10.0b4c385.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)) + @ 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 - (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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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 + @ 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 - `((,%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 # /tmp/guix-tests/store/01sib6yydjyifqm8is82l8q4xr6g84lx-multiple-output-user 299b910>) actual-value: #t result: PASS test-name: derivation with #:references-graphs location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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? 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 $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-10.0b4c385.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 @ 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' @ 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/m6xfqmf17li67lvb3lhr8dcpby19xqaa-leaked-env-vars.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/m6//xfqmf17li67lvb3lhr8dcpby19xqaa-leaked-env-vars.drv.bz2 @ build-succeeded /tmp/guix-tests/store/m6xfqmf17li67lvb3lhr8dcpby19xqaa-leaked-env-vars.drv - + "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: derivation #:allowed-references, self allowed location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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/13286" actual-value: "/tmp/guix-tests/var/13286" result: PASS test-name: build derivation with coreutils location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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) + "/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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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 + (($ 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-10.0b4c385.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 <>)) + ((($ file ("out"))) + (string=? file (derivation-file-name b))) + @ 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 - @ 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 13693 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 13715 (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-10.0b4c385.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-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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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) + @ 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/13286/temproots/13308' deleting unused links... 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 (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: derivation-prerequisites-to-build and substitutes location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-info + (const #f)))) + (and (null? build) + (equal? + (map substitutable-path 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-10.0b4c385.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-10.0b4c385.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 + (((= substitutable-path 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-10.0b4c385.drv-0/source/tests/derivations.scm:885 source: + (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/7fyw8c5lqz2pa9yydi8pfy46aydvbjkm-dep' building path(s) `/tmp/guix-tests/store/g4g1n7nhlramh29475dywifpwzqx5f0x-to-check' finding garbage collector roots... removing stale temporary roots file `/tmp/guix-tests/var/13286/temproots/13760' deleting `/tmp/guix-tests/store/7fyw8c5lqz2pa9yydi8pfy46aydvbjkm-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 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 (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-10.0b4c385.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-path-info + 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/mdma7fqxi11p48m4zh3zvdf63b6adgp5-dep")) actual-value: #t result: PASS test-name: build-expression->derivation with expression returning #f location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-10.0b4c385.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)) + @ 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 - @ build-started /tmp/guix-tests/store/kgv4vhnck8n97ragpd33cdvfpifzmmq5-module-import.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/kg//v4vhnck8n97ragpd33cdvfpifzmmq5-module-import.drv.bz2 @ build-succeeded /tmp/guix-tests/store/kgv4vhnck8n97ragpd33cdvfpifzmmq5-module-import.drv - @ build-started /tmp/guix-tests/store/jrinwx604040avwnza9k60vs267vdl7n-module-import-compiled.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/jr//inwx604040avwnza9k60vs267vdl7n-module-import-compiled.drv.bz2 @ build-succeeded /tmp/guix-tests/store/jrinwx604040avwnza9k60vs267vdl7n-module-import-compiled.drv - @ build-started /tmp/guix-tests/store/ckb6f405qgjl1spgx1jnk6jpfil49iq0-test-with-modules.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/ck//b6f405qgjl1spgx1jnk6jpfil49iq0-test-with-modules.drv.bz2 @ build-succeeded /tmp/guix-tests/store/ckb6f405qgjl1spgx1jnk6jpfil49iq0-test-with-modules.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-10.0b4c385.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") + "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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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)))) + @ 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 - (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-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-10.0b4c385.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-10.0b4c385.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 + @ 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-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 - "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-10.0b4c385.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)) + (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 stringderivation + %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 # /tmp/guix-tests/store/f8prvykpaplzl0gw9qykipviq3vil9ws-drv-to-remap 2cdd0f0>) expected-value: "hello" actual-value: "hello" result: PASS test-name: map-derivation, sources location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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" + @ 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 - "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* # /tmp/guix-tests/store/d16rf6zch2w23cn1v1gm8r3w12pc7y2m-drv-to-remap 2931140>) expected-value: "hello" actual-value: "hello" result: PASS SKIP: tests/packages ==================== test-name: printer with location location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/packages.scm:69 source: + (test-assert + "printer with location" + (string-match + "^#$" + (with-output-to-string + (lambda () + (write (dummy-package + "foo" + (location (make-location "foo.scm" 42 7)))))))) actual-value: #("#" (0 . 35)) result: PASS test-name: printer without location location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/packages.scm:77 source: + (test-assert + "printer without location" + (string-match + "^#$" + (with-output-to-string + (lambda () + (write (dummy-package "foo" (location #f))))))) actual-value: #("#" (0 . 24)) result: PASS test-name: hidden-package location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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) + ((($ "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-10.0b4c385.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) + ((($ "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-10.0b4c385.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 + (($ 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-10.0b4c385.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-10.0b4c385.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" #) ("c" #) ("d" #) ("a" #) ("x" "something.drv"))) actual-value: #t result: PASS test-name: package-transitive-inputs, no duplicates location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.drv-0/source/tests/packages.scm:276 source: + (test-equal + "package-direct-sources, #f source" + (list i) + (package-direct-sources b)) expected-value: (#) actual-value: (#) result: PASS test-name: package-direct-sources, not input source location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/packages.scm:279 source: + (test-equal + "package-direct-sources, not input source" + (list u) + (package-direct-sources d)) expected-value: (#) actual-value: (#) result: PASS test-name: package-direct-sources location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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 (# #)) actual-value: (#) result: PASS test-name: package-transitive-sources location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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 (# # #)) actual-value: (# # #) result: PASS test-name: transitive-input-references location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-10.0b4c385.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" "aarch64-linux" "mips64el-linux") actual-value: ("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "mips64el-linux") result: PASS test-name: supported-package? location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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=? + random seed for tests: 1511174506 package 'foo' has been superseded by 'bar' package 'foo' has been superseded by 'bar' package 'foo' has been superseded by 'bar' warning: package 'foo' no longer exists 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 - (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-10.0b4c385.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 + (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-10.0b4c385.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: (# #) actual-value: (# #) result: PASS test-name: reference to non-existent output location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-10.0b4c385.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 # /tmp/guix-tests/store/3pp7cs8ycxg16yldqd62lrk306ck1g72-trivial-0 2884eb0> "/tmp/guix-tests/store/3pp7cs8ycxg16yldqd62lrk306ck1g72-trivial-0") actual-value: #t result: PASS test-name: trivial with local file as input location: @ 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 - /tmp/guix-build-guix-0.13.0-10.0b4c385.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 + (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 # /tmp/guix-tests/store/ig6yxsjih7q2g4zmlplm1psjz5yprqad-trivial-with-input-file-0 2884d70> "/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-10.0b4c385.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-10.0b4c385.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 # /tmp/guix-tests/store/8pqmam9mmnpd071ya49hv33dnp8p24f5-trivial-system-dependent-input-0 2884af0> "/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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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 + @ 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 - (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-10.0b4c385.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"))) + (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-10.0b4c385.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 (#) (#) (#)) actual-value: ("foo86-hurd" #f (#) (#) (#)) result: PASS test-name: package->bag, cross-compilation location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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" (#) (#) (#)) actual-value: ("x86_64-linux" "foo86-hurd" (#) (#) (#)) result: PASS test-name: package->bag, propagated inputs location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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: # actual-value: # result: PASS test-name: fold-packages, hidden package location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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)) + '()) + @ build-started /tmp/guix-tests/store/dm1329nz3dhq2fqvklcawzcc8xkyiamj-foo-0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/dm//1329nz3dhq2fqvklcawzcc8xkyiamj-foo-0.drv.bz2 @ build-succeeded /tmp/guix-tests/store/dm1329nz3dhq2fqvklcawzcc8xkyiamj-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/hx6w0g84mbbmcplwrc70w79qx0qdwas8-module-import.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/hx//6w0g84mbbmcplwrc70w79qx0qdwas8-module-import.drv.bz2 @ build-succeeded /tmp/guix-tests/store/hx6w0g84mbbmcplwrc70w79qx0qdwas8-module-import.drv - @ build-started /tmp/guix-tests/store/cyf87ym6l8ydb7mi35si0fjspr7hj63n-module-import-compiled.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/cy//f87ym6l8ydb7mi35si0fjspr7hj63n-module-import-compiled.drv.bz2 @ build-succeeded /tmp/guix-tests/store/cyf87ym6l8ydb7mi35si0fjspr7hj63n-module-import-compiled.drv - @ build-started /tmp/guix-tests/store/4asjjfqrfmb8xjf635xcvpd3qdq9q8m1-profile.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/4a//sjjfqrfmb8xjf635xcvpd3qdq9q8m1-profile.drv.bz2 @ build-succeeded /tmp/guix-tests/store/4asjjfqrfmb8xjf635xcvpd3qdq9q8m1-profile.drv - ((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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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) + (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/7s5cskvn92vbkdf4xbqjcbn53vhiqppg-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-10.0b4c385.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 @ build-started /tmp/guix-tests/store/7bd2z45r9hanzyb83y0a59plkwgljzh9-bar-0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/7b//d2z45r9hanzyb83y0a59plkwgljzh9-bar-0.drv.bz2 @ build-succeeded /tmp/guix-tests/store/7bd2z45r9hanzyb83y0a59plkwgljzh9-bar-0.drv - @ build-started /tmp/guix-tests/store/5vq95ggw6ql8nwvqrn9kpqbxprxqbxsh-foo-0.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/5v//q95ggw6ql8nwvqrn9kpqbxprxqbxsh-foo-0.drv.bz2 @ build-succeeded /tmp/guix-tests/store/5vq95ggw6ql8nwvqrn9kpqbxprxqbxsh-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/ijljxbzld5gi3vl2sj5za417c66px19j-profile.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/ij//ljxbzld5gi3vl2sj5za417c66px19j-profile.drv.bz2 @ build-succeeded /tmp/guix-tests/store/ijljxbzld5gi3vl2sj5za417c66px19j-profile.drv - @ build-started /tmp/guix-tests/store/w0rxl4gj0ayk46h82fl45gqy0mb3xpf5-profile.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/w0//rxl4gj0ayk46h82fl45gqy0mb3xpf5-profile.drv.bz2 @ build-succeeded /tmp/guix-tests/store/w0rxl4gj0ayk46h82fl45gqy0mb3xpf5-profile.drv - error: this-package-does-not-exist: unknown package ((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 + (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/74rrwpcg1ja8bqbggwjg64vzqqmamcaf-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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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: random seed for tests: 1511174295 finding garbage collector roots... removing stale temporary roots file `/tmp/guix-tests/var/14716/temproots/14738' determining live/dead paths... finding garbage collector roots... determining live/dead paths... finding garbage collector roots... determining live/dead paths... finding garbage collector roots... deleting unused links... finding garbage collector roots... removing stale temporary roots file `/tmp/guix-tests/var/14716/temproots/14779' deleting `/tmp/guix-tests/store/90gaw1mn9raridcbiqwv8cniisrxykyj-delete-me' deleting `/tmp/guix-tests/store/trash' deleting unused links... note: currently hard linking saves 0.68 MiB finding garbage collector roots... removing stale temporary roots file `/tmp/guix-tests/var/14716/temproots/14789' deleting `/tmp/guix-tests/store/a27v317kpgsn1k82vnqhn02s9hjqwg5f-delete-me' deleting `/tmp/guix-tests/store/trash' deleting unused links... note: currently hard linking saves 0.68 MiB /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/store.scm:117 source: + (test-assert + "valid-path? error" + (with-store + s + (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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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))))) substitute: warning: authentication and authorization of substitutes disabled! substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable actual-value: #t result: PASS test-name: references location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/store.scm:211 source: + (test-assert + "references" + (let* ((t1 (add-text-to-store + %store + "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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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: @ build-started /tmp/guix-tests/store/agp756m57spdsqniwqakgl5djyvn3skh-the-thing.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/ag//p756m57spdsqniwqakgl5djyvn3skh-the-thing.drv.bz2 @ build-succeeded /tmp/guix-tests/store/agp756m57spdsqniwqakgl5djyvn3skh-the-thing.drv - substitutable-paths when substitutes are turned off location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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 (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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.drv-0/source/tests/store.scm:398 source: + (test-assert + "log-file, derivation" + (let* ((b (add-text-to-store + %store + "build" + @ build-started /tmp/guix-tests/store/nvmiyggp18sd6i6bdp0lc5ckzycvniid-the-thing.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/nv//miyggp18sd6i6bdp0lc5ckzycvniid-the-thing.drv.bz2 @ build-succeeded /tmp/guix-tests/store/nvmiyggp18sd6i6bdp0lc5ckzycvniid-the-thing.drv - @ build-started /tmp/guix-tests/store/l4kj146375iixj8y8y5rkamf3wf6rmv1-the-thing.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/l4//kj146375iixj8y8y5rkamf3wf6rmv1-the-thing.drv.bz2 @ build-succeeded /tmp/guix-tests/store/l4kj146375iixj8y8y5rkamf3wf6rmv1-the-thing.drv - "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))))) + (and (build-derivations %store (list d)) + (file-exists? + (pk (log-file %store (derivation-file-name d))))))) ;;; ("/tmp/guix-tests/var/log/guix/drvs/nv/miyggp18sd6i6bdp0lc5ckzycvniid-the-thing.drv.bz2") actual-value: #t result: PASS test-name: log-file, output file name location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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/l4/kj146375iixj8y8y5rkamf3wf6rmv1-the-thing.drv.bz2") actual-value: #t result: PASS test-name: no substitutes location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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 + (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/yp9fm52wcrwraxqf840558b40pg1cf2q-substitute-me /tmp/guix-build-guix-0.13.0-10.0b4c385.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/14716/substituter-data/example.nar...  example.nar 176B 0B/s 00:00 [ ] 0.0%  example.nar 176B 905KiB/s 00:00 [####################] 100.0%  example.nar 176B 390KiB/s 00:00 [####################] 100.0% @ substituter-succeeded /tmp/guix-tests/store/yp9fm52wcrwraxqf840558b40pg1cf2q-substitute-me 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))) + (((? substitutable? s)) + (and (string=? + (substitutable-deriver s) + (derivation-file-name d)) + (null? (substitutable-references s)) + (equal? (substitutable-nar-size s) 1234))))))))) ;;; (spi (#< 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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.drv-0/source/tests/store.scm:531 source: + (test-assert + "substitute + build-things with output path" + (with-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 @ substituter-started /tmp/guix-tests/store/dqkgpg5adklx2gxwky3jfpx8rz03wx85-substitute-me /tmp/guix-build-guix-0.13.0-10.0b4c385.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/14716/substituter-data/example.nar...  example.nar 176B 0B/s 00:00 [ ] 0.0%  example.nar 176B 944KiB/s 00:00 [####################] 100.0%  example.nar 176B 386KiB/s 00:00 [####################] 100.0% @ substituter-succeeded /tmp/guix-tests/store/dqkgpg5adklx2gxwky3jfpx8rz03wx85-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-10.0b4c385.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/14716/substituter-data/example.nar...  example.nar 128B 0B/s 00:00 [ ] 0.0%  example.nar 128B 706KiB/s 00:00 [####################] 100.0%  example.nar 128B 300KiB/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 actual: 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/q2li8r7r9a8pdy9gf74ffz0dsvd3qzwd-substitute-me-not /tmp/guix-build-guix-0.13.0-10.0b4c385.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/14716/substituter-data/example.nar... guix substitute: error: open-file: No such file or directory: "/tmp/guix-tests/var/14716/substituter-data/example.nar" @ substituter-failed /tmp/guix-tests/store/q2li8r7r9a8pdy9gf74ffz0dsvd3qzwd-substitute-me-not 256 fetching path `/tmp/guix-tests/store/q2li8r7r9a8pdy9gf74ffz0dsvd3qzwd-substitute-me-not' failed with exit code 1 @ substituter-started /tmp/guix-tests/store/q2li8r7r9a8pdy9gf74ffz0dsvd3qzwd-substitute-me-not /tmp/guix-build-guix-0.13.0-10.0b4c385.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/14716/substituter-data/example.nar... guix substitute: error: open-file: No such file or directory: "/tmp/guix-tests/var/14716/substituter-data/example.nar" @ substituter-failed /tmp/guix-tests/store/q2li8r7r9a8pdy9gf74ffz0dsvd3qzwd-substitute-me-not 256 fetching path `/tmp/guix-tests/store/q2li8r7r9a8pdy9gf74ffz0dsvd3qzwd-substitute-me-not' failed with exit code 1 @ build-started /tmp/guix-tests/store/zw8z8cl83d9k6p94a51akbxpidwab75d-substitute-me-not.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/zw//8z8cl83d9k6p94a51akbxpidwab75d-substitute-me-not.drv.bz2 @ build-succeeded /tmp/guix-tests/store/zw8z8cl83d9k6p94a51akbxpidwab75d-substitute-me-not.drv - 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-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-10.0b4c385.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 #) actual-value: #t result: PASS test-name: substitute --fallback location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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: finding garbage collector roots... deleting unused links... finding garbage collector roots... deleting unused links... finding garbage collector roots... deleting unused links... export/import several paths location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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 <>)))) + (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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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))) + finding garbage collector roots... deleting unused links... @ build-started /tmp/guix-tests/store/2bz9qad6fl857hmnrxs5incnw6ad66hv-bunch.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/2b//z9qad6fl857hmnrxs5incnw6ad66hv-bunch.drv.bz2 @ build-succeeded /tmp/guix-tests/store/2bz9qad6fl857hmnrxs5incnw6ad66hv-bunch.drv - (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)) + (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-10.0b4c385.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-10.0b4c385.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)) + finding garbage collector roots... deleting unused links... reading the Nix store... reading the Nix store... path `/tmp/guix-tests/store/24l50disrrrv17mkhx5myrn5h9ynf2az-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/52snxh5gf5a05irw1s4c2iwbiifbmdjp-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/14716/substituter-data/example.nar...  example.nar 176B 0B/s 00:00 [ ] 0.0%  example.nar 176B 834KiB/s 00:00 [####################] 100.0%  example.nar 176B 369KiB/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/52snxh5gf5a05irw1s4c2iwbiifbmdjp-corrupt' was modified! expected hash `67f94904ddf538c7bfd56b7dff2ef1b3c77807f559bebc0456ad3e1e8461da7e', got `e09c480e2e93336cd3c45aa129f81a0d7ba56c410b849d7779a8136074413b3d' finding garbage collector roots... removing stale temporary roots file `/tmp/guix-tests/var/14716/temproots/15448' deleting `/tmp/guix-tests/store/52snxh5gf5a05irw1s4c2iwbiifbmdjp-corrupt' deleting `/tmp/guix-tests/store/trash' deleting unused links... note: currently hard linking saves 0.69 MiB (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 #) actual-value: 80 result: PASS test-name: register-path location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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: ("/tmp/guix-tests/store/52snxh5gf5a05irw1s4c2iwbiifbmdjp-corrupt") result: PASS test-name: build-things, check mode location: 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/rv6lrcr2ym55a0i0f1jnh01nq1l738qp-non-deterministic' checking path(s) `/tmp/guix-tests/store/rv6lrcr2ym55a0i0f1jnh01nq1l738qp-non-deterministic' warning: rewriting hashes in `/tmp/guix-tests/store/rv6lrcr2ym55a0i0f1jnh01nq1l738qp-non-deterministic'; cross fingers /tmp/guix-build-guix-0.13.0-10.0b4c385.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 + (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 #) actual-value: 71 result: PASS test-name: build multiple times location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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) + @ build-started /tmp/guix-tests/store/bijgb20hfd0srrksykr13bphlmrfmmax-non-deterministic.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/bi//jgb20hfd0srrksykr13bphlmrfmmax-non-deterministic.drv.bz2 @ build-started /tmp/guix-tests/store/bijgb20hfd0srrksykr13bphlmrfmmax-non-deterministic.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/bi//jgb20hfd0srrksykr13bphlmrfmmax-non-deterministic.drv.bz2 output ‘/tmp/guix-tests/store/z9wnfg0fg40c4sb3yld8k5x8kykk3pi0-non-deterministic’ of ‘/tmp/guix-tests/store/bijgb20hfd0srrksykr13bphlmrfmmax-non-deterministic.drv’ differs from previous round @ build-failed /tmp/guix-tests/store/bijgb20hfd0srrksykr13bphlmrfmmax-non-deterministic.drv - 1 output ‘/tmp/guix-tests/store/z9wnfg0fg40c4sb3yld8k5x8kykk3pi0-non-deterministic’ of ‘/tmp/guix-tests/store/bijgb20hfd0srrksykr13bphlmrfmmax-non-deterministic.drv’ differs from previous round @ build-started /tmp/guix-tests/store/0akfqy1p1vx0bb6xxfrzbc990ix2ccfc-the-thing.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/0a//kfqy1p1vx0bb6xxfrzbc990ix2ccfc-the-thing.drv.bz2 @ build-succeeded /tmp/guix-tests/store/0akfqy1p1vx0bb6xxfrzbc990ix2ccfc-the-thing.drv - (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 #) actual-value: 69 result: PASS test-name: store-lower location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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)) + 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/pndkakqgc1v3ir7zsrsn08pyn55dfky3-the-thing' @ build-started /tmp/guix-tests/store/ig4hbsz711krxq7ad26q3fd06zlsysmr-the-thing.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/ig//4hbsz711krxq7ad26q3fd06zlsysmr-the-thing.drv.bz2 @ build-succeeded /tmp/guix-tests/store/ig4hbsz711krxq7ad26q3fd06zlsysmr-the-thing.drv - #: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))) + (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: 1511176066 @ 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/xbqdajzc1qj2kdm4jvj5r1vm3gczcwap-one.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/xb//qdajzc1qj2kdm4jvj5r1vm3gczcwap-one.drv.bz2 @ build-succeeded /tmp/guix-tests/store/xbqdajzc1qj2kdm4jvj5r1vm3gczcwap-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/873jwzh897k7w7lynia8r5j066sg03av-two.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/87//3jwzh897k7w7lynia8r5j066sg03av-two.drv.bz2 @ build-succeeded /tmp/guix-tests/store/873jwzh897k7w7lynia8r5j066sg03av-two.drv - @ build-started /tmp/guix-tests/store/s0a575gyk6ypdhlljqpqksk49pjdxvrz-union-collision-symlink.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/s0//a575gyk6ypdhlljqpqksk49pjdxvrz-union-collision-symlink.drv.bz2 `/tmp/guix-tests/store/92cd19f3cbh5s3338rzcvd967fbj1n6d-two/bar' ~> `/tmp/guix-tests/store/g6hvmsa4ybfv5iiais6zxs1mjr13pzr1-union-collision-symlink/bar' `/tmp/guix-tests/store/92cd19f3cbh5s3338rzcvd967fbj1n6d-two/foo/two' ~> `/tmp/guix-tests/store/g6hvmsa4ybfv5iiais6zxs1mjr13pzr1-union-collision-symlink/foo/two' `/tmp/guix-tests/store/p6j250a3pzkymsxc4i740v79qs6bv0fn-one/foo/one' ~> `/tmp/guix-tests/store/g6hvmsa4ybfv5iiais6zxs1mjr13pzr1-union-collision-symlink/foo/one' @ build-succeeded /tmp/guix-tests/store/s0a575gyk6ypdhlljqpqksk49pjdxvrz-union-collision-symlink.drv - test-name: union-build with symlink to directory location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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/g6hvmsa4ybfv5iiais6zxs1mjr13pzr1-union-collision-symlink") actual-value: #t result: PASS test-name: union-build location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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")))))))) result: SKIP test-name: union-build #:create-all-directories? #t location: @ build-started /tmp/guix-tests/store/iwc79z4pnnjaz0hif0xnx65cg2j3qsg9-union-test-all-dirs.drv - x86_64-linux /tmp/guix-tests/var/log/guix/drvs/iw//c79z4pnnjaz0hif0xnx65cg2j3qsg9-union-test-all-dirs.drv.bz2 `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/oop/goops.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/oop/goops.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/oop/goops/dispatch.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/oop/goops/dispatch.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/oop/goops/accessors.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/oop/goops/accessors.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/oop/goops/composite-slot.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/oop/goops/composite-slot.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/oop/goops/util.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/oop/goops/util.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/oop/goops/describe.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/oop/goops/describe.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/oop/goops/save.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/oop/goops/save.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/oop/goops/internal.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/oop/goops/internal.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/oop/goops/compile.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/oop/goops/compile.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/oop/goops/simple.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/oop/goops/simple.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/oop/goops/stklos.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/oop/goops/stklos.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/oop/goops/active-slot.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/oop/goops/active-slot.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/base/ck.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/base/ck.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/base/pmatch.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/base/pmatch.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/base/lalr.upstream.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/base/lalr.upstream.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/base/message.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/base/message.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/base/target.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/base/target.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/base/lalr.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/base/lalr.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/base/compile.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/base/compile.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/base/syntax.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/base/syntax.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/base/language.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/base/language.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/vm/trap-state.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/vm/trap-state.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/vm/trace.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/vm/trace.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/vm/program.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/vm/program.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/vm/objcode.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/vm/objcode.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/vm/frame.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/vm/frame.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/vm/traps.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/vm/traps.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/vm/vm.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/vm/vm.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/vm/instruction.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/vm/instruction.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/vm/coverage.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/vm/coverage.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/vm/inspect.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/vm/inspect.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/xref.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/xref.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/repl/repl.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/repl/repl.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/repl/error-handling.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/repl/error-handling.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/repl/describe.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/repl/describe.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/repl/command.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/repl/command.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/repl/debug.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/repl/debug.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/repl/server.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/repl/server.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/repl/common.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/repl/common.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/system/foreign.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/system/foreign.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/sxml/xpath.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/sxml/xpath.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/SXPath-old.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/sxml/upstream/SXPath-old.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/input-parse.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/sxml/upstream/input-parse.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/assert.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/sxml/upstream/assert.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/SXML-tree-trans.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/sxml/upstream/SXML-tree-trans.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/SSAX.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/sxml/upstream/SSAX.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/sxml/fold.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/sxml/fold.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/sxml/transform.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/sxml/transform.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/sxml/ssax/input-parse.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/sxml/ssax/input-parse.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/sxml/simple.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/sxml/simple.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/sxml/sxml-match.ss' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/sxml/sxml-match.ss' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/sxml/match.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/sxml/match.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/sxml/apply-templates.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/sxml/apply-templates.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/sxml/ssax.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/sxml/ssax.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/texinfo.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/texinfo.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/scm-style-repl.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/scm-style-repl.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/control.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/control.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/poll.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/poll.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/and-let-star.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/and-let-star.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/channel.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/channel.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/save-stack.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/save-stack.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/string-fun.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/string-fun.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/calling.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/calling.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/threads.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/threads.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/r4rs.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/r4rs.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/rdelim.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/rdelim.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/lineio.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/lineio.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/readline.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/readline.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/list.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/list.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/quasisyntax.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/quasisyntax.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/weak-vector.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/weak-vector.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/top-repl.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/top-repl.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/getopt-long.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/getopt-long.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/eval.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/eval.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/futures.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/futures.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/streams.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/streams.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/networking.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/networking.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/r6rs-libraries.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/r6rs-libraries.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/poe.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/poe.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/mapping.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/mapping.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/boot-9.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/boot-9.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/optargs.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/optargs.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/receive.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/receive.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/common-list.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/common-list.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/q.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/q.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/deprecated.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/deprecated.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/safe.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/safe.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/i18n.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/i18n.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/format.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/format.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/gap-buffer.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/gap-buffer.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/serialize.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/serialize.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/ftw.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/ftw.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/session.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/session.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/hcons.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/hcons.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/runq.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/runq.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/pretty-print.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/pretty-print.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/r5rs.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/r5rs.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/curried-definitions.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/curried-definitions.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/posix.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/posix.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/psyntax-pp.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/psyntax-pp.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/match.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/match.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/buffered-input.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/buffered-input.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/psyntax.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/psyntax.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/match.upstream.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/match.upstream.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/time.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/time.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/binary-ports.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/binary-ports.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/regex.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/regex.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/ls.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/ls.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/rw.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/rw.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/documentation.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/documentation.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/local-eval.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/local-eval.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/iconv.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/iconv.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/history.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/history.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/expect.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/expect.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/command-line.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/command-line.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/syncase.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/syncase.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/slib.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/slib.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/stack-catch.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/stack-catch.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/occam-channel.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/occam-channel.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/null.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/null.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/debug.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/debug.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/vlist.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/vlist.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/safe-r5rs.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/safe-r5rs.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/eval-string.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/eval-string.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/ice-9/popen.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/ice-9/popen.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/tree-il.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/tree-il.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/glil.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/glil.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/value/spec.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/value/spec.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/assembly/spec.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/assembly/spec.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/assembly/compile-bytecode.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/assembly/compile-bytecode.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/assembly/decompile-bytecode.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/assembly/decompile-bytecode.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/assembly/disassemble.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/assembly/disassemble.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/scheme/decompile-tree-il.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/scheme/decompile-tree-il.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/scheme/spec.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/scheme/spec.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/scheme/compile-tree-il.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/scheme/compile-tree-il.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/objcode/spec.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/objcode/spec.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/canonicalize.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/tree-il/canonicalize.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/optimize.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/tree-il/optimize.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/inline.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/tree-il/inline.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/effects.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/tree-il/effects.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/spec.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/tree-il/spec.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/primitives.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/tree-il/primitives.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/fix-letrec.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/tree-il/fix-letrec.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/peval.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/tree-il/peval.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/analyze.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/tree-il/analyze.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/debug.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/tree-il/debug.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/cse.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/tree-il/cse.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/compile-glil.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/tree-il/compile-glil.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime/subrs.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/elisp/runtime/subrs.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime/macros.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/elisp/runtime/macros.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime/function-slot.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/elisp/runtime/function-slot.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime/value-slot.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/elisp/runtime/value-slot.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/elisp/spec.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/elisp/spec.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/elisp/parser.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/elisp/parser.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/elisp/bindings.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/elisp/bindings.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/elisp/lexer.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/elisp/lexer.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/elisp/runtime.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/elisp/compile-tree-il.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/elisp/compile-tree-il.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/assembly.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/assembly.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/glil/spec.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/glil/spec.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/glil/compile-assembly.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/glil/compile-assembly.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/array.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/ecmascript/array.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/spec.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/ecmascript/spec.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/parse.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/ecmascript/parse.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/function.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/ecmascript/function.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/tokenize.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/ecmascript/tokenize.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/impl.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/ecmascript/impl.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/base.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/ecmascript/base.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/compile-tree-il.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/ecmascript/compile-tree-il.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/bytecode/spec.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/bytecode/spec.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/brainfuck/spec.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/brainfuck/spec.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/brainfuck/parse.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/brainfuck/parse.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/brainfuck/compile-scheme.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/brainfuck/compile-scheme.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/language/brainfuck/compile-tree-il.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/language/brainfuck/compile-tree-il.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/statprof.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/statprof.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/list.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/list.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/help.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/help.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/read-rfc822.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/read-rfc822.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/use2dot.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/use2dot.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/snarf-guile-m4-docs.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/snarf-guile-m4-docs.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/frisk.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/frisk.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/read-text-outline.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/read-text-outline.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/autofrisk.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/autofrisk.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/snarf-check-and-output-texi.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/snarf-check-and-output-texi.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/scan-api.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/scan-api.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/read-scheme-source.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/read-scheme-source.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/compile.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/compile.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/doc-snarf.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/doc-snarf.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/punify.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/punify.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/lint.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/lint.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/generate-autoload.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/generate-autoload.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/api-diff.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/api-diff.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/disassemble.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/disassemble.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/display-commentary.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/display-commentary.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/scripts/summarize-guile-TODO.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/scripts/summarize-guile-TODO.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-67/compare.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-67/compare.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-41.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-41.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-67.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-67.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-19.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-19.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-18.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-18.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-17.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-17.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-9.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-9.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-4/gnu.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-4/gnu.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-16.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-16.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-8.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-8.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-9/gnu.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-9/gnu.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-14.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-14.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-6.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-6.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-27.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-27.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-13.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-13.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-88.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-88.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-26.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-26.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-60.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-60.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-39.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-39.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-4.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-4.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-11.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-11.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-38.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-38.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-10.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-10.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-2.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-2.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-37.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-37.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-98.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-98.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-1.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-1.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-35.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-35.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-34.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-34.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-42/ec.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-42/ec.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-45.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-45.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-31.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-31.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-42.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-42.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-69.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/srfi/srfi-69.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/guile-procedures.txt' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/guile-procedures.txt' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/mutable-strings.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/mutable-strings.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/control.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/control.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/records/procedural.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/records/procedural.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/records/syntactic.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/records/syntactic.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/records/inspection.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/records/inspection.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/lists.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/lists.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/enums.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/enums.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/conditions.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/conditions.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/hashtables.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/hashtables.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/arithmetic/fixnums.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/arithmetic/fixnums.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/arithmetic/bitwise.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/arithmetic/bitwise.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/arithmetic/flonums.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/arithmetic/flonums.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/sorting.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/sorting.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/files.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/files.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/programs.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/programs.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/mutable-pairs.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/mutable-pairs.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/bytevectors.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/bytevectors.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/unicode.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/unicode.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/eval.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/eval.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/base.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/base.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/syntax-case.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/syntax-case.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/r5rs.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/r5rs.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/io/ports.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/io/ports.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/io/simple.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/io/simple.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/rnrs/exceptions.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/rnrs/exceptions.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/web/http.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/web/http.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/web/client.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/web/client.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/web/server/http.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/web/server/http.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/web/request.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/web/request.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/web/response.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/web/response.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/web/uri.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/web/uri.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/web/server.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/web/server.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/texinfo/indexing.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/texinfo/indexing.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/texinfo/plain-text.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/texinfo/plain-text.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/texinfo/html.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/texinfo/html.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/texinfo/reflection.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/texinfo/reflection.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/texinfo/string-utils.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/texinfo/string-utils.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/texinfo/docbook.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/texinfo/docbook.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/share/guile/2.0/texinfo/serialize.scm' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/share/guile/2.0/texinfo/serialize.scm' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/bin/.guile-real' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/bin/.guile-real' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/bin/guile' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/bin/guile' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/oop/goops.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/internal.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/oop/goops/internal.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/simple.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/oop/goops/simple.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/util.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/oop/goops/util.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/compile.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/oop/goops/compile.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/dispatch.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/oop/goops/dispatch.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/active-slot.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/oop/goops/active-slot.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/accessors.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/oop/goops/accessors.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/describe.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/oop/goops/describe.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/stklos.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/oop/goops/stklos.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/composite-slot.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/oop/goops/composite-slot.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/save.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/oop/goops/save.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/texinfo.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/pmatch.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/base/pmatch.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/syntax.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/base/syntax.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/target.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/base/target.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/lalr.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/base/lalr.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/compile.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/base/compile.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/ck.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/base/ck.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/language.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/base/language.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/message.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/base/message.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/trace.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/vm/trace.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/traps.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/vm/traps.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/trap-state.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/vm/trap-state.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/objcode.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/vm/objcode.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/frame.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/vm/frame.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/vm.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/vm/vm.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/coverage.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/vm/coverage.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/program.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/vm/program.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/instruction.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/vm/instruction.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/inspect.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/vm/inspect.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/foreign.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/foreign.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/xref.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/xref.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/command.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/repl/command.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/repl.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/repl/repl.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/common.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/repl/common.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/server.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/repl/server.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/error-handling.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/repl/error-handling.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/debug.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/system/repl/debug.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/apply-templates.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/sxml/apply-templates.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/simple.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/sxml/simple.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/fold.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/sxml/fold.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/xpath.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/sxml/xpath.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/transform.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/sxml/transform.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/ssax.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/sxml/ssax.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/ssax/input-parse.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/sxml/ssax/input-parse.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/match.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/sxml/match.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/q.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/q.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/receive.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/receive.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/boot-9.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/boot-9.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/rw.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/rw.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/ls.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/ls.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/networking.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/networking.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/save-stack.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/save-stack.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/channel.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/channel.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/mapping.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/mapping.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/string-fun.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/string-fun.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/control.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/control.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/poll.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/poll.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/streams.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/streams.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/eval-string.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/eval-string.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/psyntax-pp.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/psyntax-pp.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/eval.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/eval.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/match.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/match.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/documentation.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/documentation.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/weak-vector.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/weak-vector.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/debug.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/debug.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/occam-channel.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/occam-channel.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/posix.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/posix.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/common-list.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/common-list.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/null.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/null.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/top-repl.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/top-repl.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/r5rs.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/r5rs.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/runq.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/runq.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/local-eval.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/local-eval.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/ftw.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/ftw.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/serialize.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/serialize.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/slib.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/slib.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/pretty-print.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/pretty-print.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/lineio.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/lineio.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/history.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/history.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/readline.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/readline.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/threads.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/threads.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/calling.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/calling.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/optargs.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/optargs.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/gap-buffer.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/gap-buffer.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/deprecated.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/deprecated.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/regex.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/regex.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/time.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/time.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/binary-ports.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/binary-ports.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/poe.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/poe.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/and-let-star.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/and-let-star.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/futures.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/futures.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/popen.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/popen.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/curried-definitions.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/curried-definitions.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/vlist.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/vlist.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/safe-r5rs.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/safe-r5rs.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/scm-style-repl.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/scm-style-repl.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/stack-catch.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/stack-catch.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/session.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/session.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/hcons.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/hcons.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/buffered-input.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/buffered-input.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/list.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/list.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/getopt-long.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/getopt-long.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/syncase.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/syncase.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/i18n.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/i18n.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/format.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/format.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/expect.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/expect.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/rdelim.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/rdelim.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/r4rs.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/r4rs.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/iconv.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/iconv.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/command-line.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/command-line.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/safe.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/ice-9/safe.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/glil.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/glil.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/tree-il.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/value/spec.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/value/spec.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/assembly.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly/disassemble.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/assembly/disassemble.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly/spec.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/assembly/spec.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly/compile-bytecode.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/assembly/compile-bytecode.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly/decompile-bytecode.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/assembly/decompile-bytecode.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/scheme/decompile-tree-il.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/scheme/decompile-tree-il.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/scheme/compile-tree-il.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/scheme/compile-tree-il.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/scheme/spec.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/scheme/spec.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/objcode/spec.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/objcode/spec.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/effects.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/tree-il/effects.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/fix-letrec.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/tree-il/fix-letrec.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/inline.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/tree-il/inline.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/canonicalize.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/tree-il/canonicalize.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/compile-glil.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/tree-il/compile-glil.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/analyze.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/tree-il/analyze.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/cse.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/tree-il/cse.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/peval.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/tree-il/peval.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/optimize.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/tree-il/optimize.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/primitives.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/tree-il/primitives.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/debug.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/tree-il/debug.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/spec.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/tree-il/spec.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime/value-slot.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/elisp/runtime/value-slot.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime/subrs.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/elisp/runtime/subrs.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime/function-slot.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/elisp/runtime/function-slot.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime/macros.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/elisp/runtime/macros.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/lexer.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/elisp/lexer.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/parser.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/elisp/parser.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/bindings.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/elisp/bindings.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/compile-tree-il.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/elisp/compile-tree-il.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/spec.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/elisp/spec.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/elisp/runtime.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/glil/compile-assembly.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/glil/compile-assembly.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/glil/spec.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/glil/spec.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/function.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/ecmascript/function.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/array.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/ecmascript/array.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/tokenize.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/ecmascript/tokenize.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/impl.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/ecmascript/impl.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/compile-tree-il.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/ecmascript/compile-tree-il.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/spec.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/ecmascript/spec.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/parse.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/ecmascript/parse.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/base.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/ecmascript/base.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/bytecode/spec.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/bytecode/spec.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/brainfuck/compile-scheme.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/brainfuck/compile-scheme.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/brainfuck/compile-tree-il.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/brainfuck/compile-tree-il.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/brainfuck/spec.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/brainfuck/spec.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/brainfuck/parse.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/language/brainfuck/parse.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/statprof.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/statprof.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/summarize-guile-TODO.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/summarize-guile-TODO.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/snarf-check-and-output-texi.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/snarf-check-and-output-texi.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/scan-api.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/scan-api.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/doc-snarf.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/doc-snarf.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/snarf-guile-m4-docs.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/snarf-guile-m4-docs.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/compile.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/compile.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/read-scheme-source.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/read-scheme-source.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/disassemble.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/disassemble.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/lint.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/lint.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/api-diff.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/api-diff.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/list.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/list.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/help.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/help.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/use2dot.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/use2dot.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/display-commentary.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/display-commentary.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/autofrisk.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/autofrisk.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/punify.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/punify.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/frisk.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/frisk.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/read-text-outline.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/read-text-outline.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/read-rfc822.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/read-rfc822.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/generate-autoload.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/scripts/generate-autoload.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-45.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-45.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-60.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-60.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-35.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-35.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-8.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-8.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-38.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-38.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-4/gnu.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-4/gnu.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-10.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-10.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-18.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-18.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-9/gnu.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-9/gnu.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-6.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-6.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-13.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-13.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-69.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-69.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-1.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-1.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-9.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-9.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-26.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-26.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-41.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-41.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-16.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-16.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-31.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-31.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-39.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-39.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-4.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-4.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-11.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-11.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-67.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-67.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-19.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-19.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-34.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-34.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-14.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-14.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-37.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-37.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-2.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-2.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-27.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-27.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-42.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-42.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-98.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-98.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-17.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-17.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-88.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/srfi/srfi-88.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/mutable-pairs.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/mutable-pairs.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/conditions.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/conditions.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/records/procedural.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/records/procedural.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/records/inspection.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/records/inspection.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/records/syntactic.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/records/syntactic.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/r5rs.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/r5rs.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/exceptions.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/exceptions.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/control.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/control.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/enums.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/enums.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/sorting.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/sorting.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/hashtables.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/hashtables.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/files.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/files.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/arithmetic/flonums.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/arithmetic/flonums.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/arithmetic/bitwise.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/arithmetic/bitwise.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/arithmetic/fixnums.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/arithmetic/fixnums.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/lists.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/lists.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/programs.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/programs.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/syntax-case.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/syntax-case.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/bytevectors.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/bytevectors.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/mutable-strings.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/mutable-strings.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/unicode.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/unicode.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/io/simple.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/io/simple.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/io/ports.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/io/ports.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/eval.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/eval.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/base.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/rnrs/base.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/response.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/web/response.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/server.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/web/server.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/server/http.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/web/server/http.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/http.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/web/http.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/uri.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/web/uri.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/client.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/web/client.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/request.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/web/request.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/html.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/texinfo/html.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/serialize.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/texinfo/serialize.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/indexing.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/texinfo/indexing.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/docbook.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/texinfo/docbook.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/reflection.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/texinfo/reflection.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/string-utils.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/texinfo/string-utils.go' `/tmp/guix-tests/store/7y0q8n6zv41lr9viybhihlcmhri6939f-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/plain-text.go' ~> `/tmp/guix-tests/store/0sgpsn768nn73wblh4iw6wl3bcsfn7dd-union-test-all-dirs/lib/guile/2.0/ccache/texinfo/plain-text.go' @ build-succeeded /tmp/guix-tests/store/iwc79z4pnnjaz0hif0xnx65cg2j3qsg9-union-test-all-dirs.drv - /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/union.scm:127 source: + (test-assert + "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-10.0b4c385.drv-0/source/tests/syscalls.scm:40 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-10.0b4c385.drv-0/source/tests/syscalls.scm:48 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-10.0b4c385.drv-0/source/tests/syscalls.scm:57 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/09j7scnl3hahcmql986fsjpzj6gqsmzv-ncurses-6.0" "/gnu/store/0f76ak4jn36qs7syhfaw5ag9958yabzh-libatomic-ops-7.4.4" "/gnu/store/0q4qmgjz3gdvyc1majqjgcm9c7s8iv0z-libssh2-1.8.0" "/gnu/store/0s5manjvfa0gmsv2r71rchky7ab70g1d-icu4c-58.2" "/gnu/store/1jcq4fc07bngc5q1cy44j0glv1vrjz52-libffi-3.2.1" "/gnu/store/1jp44pfmqcj3zycclvmmva3xcwinyg7l-freetype-2.8" "/gnu/store/1ppqh79pkzxn0y945dcxmvp1y2fpd8iv-autoconf-2.69" "/gnu/store/1xc97akbdcisrid2n8djpkn09f8bkl5f-libxdmcp-1.1.2" "/gnu/store/20jm67srhdzi01d2gdg36cspyip21lsd-libsm-1.2.2" "/gnu/store/231indrpxi7m01xx752bx4y864kyf977-libxaw-1.0.13" "/gnu/store/2lfalradkpy41cxzk9bk2ssjzklcq8gw-guile-git-0.0-4.951a32c" "/gnu/store/2nr5qmmzazj37dzfzbn0g24yy2dsavy4-m4-1.4.18" "/gnu/store/2xiz9cb0mgbrp5hdpdsm3sf1ly3904nr-guix-0.13.0-10.0b4c385-checkout" "/gnu/store/3k1y78v6nxjvmivnri5j46wai6ppvyz0-harfbuzz-1.5.1" "/gnu/store/3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib" "/gnu/store/42d5rjrdkln6nwvzwdc8dyd4w6iy3n5j-coreutils-8.27" "/gnu/store/47jgabf5wx296alb06pb5iig6cqbmx0v-gdbm-1.13" "/gnu/store/4awdim3wf62nq9qjw3hl6bacgjh9fzyv-guile-2.0.14" "/gnu/store/4b9y9f5fvghk2vmwpbgzncal7z3r4n5y-pango-1.40.12" "/gnu/store/4c0dm8h5ln0zr1l93nwhhizf5p040yi6-gs-fonts-8.11" "/gnu/store/4iqyh8xqjxazza3lx2iz5v39ipzifsfj-gzip-1.8" "/gnu/store/593cj4b7nsa0csjfjnh0xx8y4rdpykxh-libxft-2.3.2" "/gnu/store/5jl21csvr3jmsa4a7d08sqa2waks3f09-gmp-6.1.2" "/gnu/store/5lrk6d5cjsv2s29vfji6j59gyf18rb5m-acl-2.2.52" "/gnu/store/5sv5zy2kgg6iaqyv8zw49w4243j0xkd0-gcc-5.4.0" "/gnu/store/6hicns85s8ddp0y539wdspwx22ac2kmv-bzip2-1.0.6" "/gnu/store/6vps2jc0v6b4hr8ds98785xcf8061wz0-make-4.2.1" "/gnu/store/7ljjhfz6p14xlnwnmzmg6hi01wfvz9vb-cyrus-sasl-2.1.26" "/gnu/store/7nsf89mygsz1q60nkp1f62q33zraq1vc-gd-2.2.5" "/gnu/store/7v2w3506q0gf96rsf6wf3gdr2iv5frmm-libgpg-error-1.27" "/gnu/store/7v8369lgnqvpphcw06hg59hb8hxmkr8x-sed-4.4" "/gnu/store/7zbscp5r0djsalcnvfrm7g0mp70mhrkd-diffutils-3.6" "/gnu/store/8d868psvkzj0215d83xb77q0c9mqjn4d-gts-0.7.6" "/gnu/store/8g0ilwjzha2s30d1xx979xgn081d525b-curl-7.55.1-doc" "/gnu/store/8n8wwvbkarxqxkn0kc6p5iin0ywiidb0-guile-ssh-0.11.2" "/gnu/store/965dw3smmsvj6jyfxrkapp0gn9jh9djn-libunistring-0.9.7" "/gnu/store/9b0nh58q1dwxli80xj15gv2037az96xw-patch-2.7.5" "/gnu/store/9blidf28xz0a0glnv6a4xcw6nxadg427-libgc-7.6.0" "/gnu/store/9pq16kfcldqqcbd58mmfp37g3awhg4sd-gawk-4.1.4" "/gnu/store/akc3nsnksgv6256jm1ariljb1c7zh8x2-libgc-7.6.0" "/gnu/store/an52j0jrvd23qypbidd5f20k2wi75vh9-pcre-8.40" "/gnu/store/ara5mgly0zi9j9dn7wiw5417w2svn3y2-libgit2-0.26.0" "/gnu/store/azbfh3i72lbaqvhgg5m7p6ymmqq0ii6q-glib-2.52.3" "/gnu/store/b7y66db86k57vbb03nr4bfn9svmks4gf-bash-4.4.12" "/gnu/store/b9ww6qv1ii9v6n45kin7543vkf6jfnd3-libpng-1.6.29" "/gnu/store/bcmf06k2n1pfwqkzpclvvc3w9jdfi71a-guile-json-0.6.0" "/gnu/store/bd29g8hyazd9jpyql568npfd23srlyk3-help2man-1.47.4" "/gnu/store/bw44dfc7sb38dk2j2k562bsjjsy93lvq-libgcrypt-1.7.8" "/gnu/store/bzn4wyrbdmfc1bd7lq05db5psfl5f8x8-perl-5.26.0" "/gnu/store/c2k4gqjhnjyqyisci1sy81416i03pk22-libidn2-2.0.2" "/gnu/store/c4vl4hw5jccg0b23sfvs0kdnfdbxdlgm-cairo-1.14.10" "/gnu/store/c6vpfgm9n7jzgr0llax0x7szqk9a5bfm-nettle-3.3" "/gnu/store/clrddh6a60b31anv7a9hrk3i9id0k5zs-libxcb-1.12" "/gnu/store/d8gkn84yqacjr80pzicz1ka3y2s1f2x0-guile-2.2.2" "/gnu/store/dabxjcasp7p3f2hwa5zfnzw0hpf73wbn-graphviz-2.40.1" "/gnu/store/dwi04458qala1knhsvn1wis90mr65r8b-linux-libre-headers-4.4.47" "/gnu/store/g3nari57wcfnm00kv9bnpyzdzfq4h8pk-xz-5.2.2" "/gnu/store/gfsiaw6rn29ii8cpjnix05a7r588k9yv-texinfo-6.3" "/gnu/store/j3my0bpdapn5p0cm31j6vnq3lfxk4zvd-libxmu-1.1.2" "/gnu/store/jnbb8ffxxvrw2b4z18zn0g08kqk9rsgl-libffi-3.2.1" "/gnu/store/jvsgj5l4lgdknari34rv29wv253n8jcl-gnutls-3.5.13" "/gnu/store/jz7wvy930liqjvm95lhdv9i1dr1xxvxp-libxext-1.3.3" "/gnu/store/kdwlvs51isdfbl61jdishzhly8h139zf-libbsd-0.8.3" "/gnu/store/kgy00x8jl7q965sngq1yyihbczxj15wk-libxrender-0.9.10" "/gnu/store/ki6myvq4ljlmnsmnx0khdxkl2kdcyqc3-bzip2-1.0.6" "/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12" "/gnu/store/kz47ykl11dx4y96zgi2jxqckr810fm96-bdb-5.3.28" "/gnu/store/l1yvpjihbrc3avb08r2bv0rj6657rpzi-libssh-0.7.5" "/gnu/store/lh1hwa0i061lwzyvk9brcsjb6h1gyhrg-ncurses-6.0" "/gnu/store/m0m6bwzi8lx7kv8zbn3hjrim6flmgnf4-openssl-1.0.2l" "/gnu/store/mipizipnr4y2hly9b429j8id1albbgqi-readline-7.0" "/gnu/store/mmbni235xxl5hxbi6d72y8yar87gr0px-autoconf-wrapper-2.69" "/gnu/store/mpl9b9w60gjzsq470zka5l8p2bmy7r8v-sqlite-3.19.3" "/gnu/store/msw2q7nr3vfmgwyxf15y0x7qbngs9y3d-file-5.30" "/gnu/store/mxsbvhljh0fk82hdsgy04p3l2d5hz4j4-libtasn1-4.12" "/gnu/store/mz2q8c1zl8y848nixvbywg2d3zq7pjmc-libxpm-3.5.12" "/gnu/store/n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc-2.25" "/gnu/store/naq2nb3vhyaswkk4sbiw7xd6ry21nkvg-automake-1.15" "/gnu/store/nnykzgwfy8mwh2gmxm715sjxykg8qjwn-binutils-2.28" "/gnu/store/np05q8mf1y9y4bk5y4ssj99m0dss2b1q-libx11-1.6.5" "/gnu/store/nw400gfan3mxvjfwvy1q72s1ybmdscsk-fontconfig-2.12.3" "/gnu/store/nx8blr0a248ahbl092h7acyb44lp8f0m-libunistring-0.9.7" "/gnu/store/nykcm5wlw8fjsi28nm01gg1as2znh8nf-gmp-6.1.2" "/gnu/store/nzv180i3z33vnb9krmc73mazhf626384-findutils-4.6.0" "/gnu/store/p5hrrimz30kfp56rah7qn4ymshyg78mq-graphite2-1.3.10" "/gnu/store/pa1ykb4j406bnz86xlf1m8icij8ss3j7-gss-1.0.3" "/gnu/store/paps5r9hcpszhv8hc3n0s2m2i4a2378i-ed-1.14.2" "/gnu/store/pd3nggfvrq50nh419an2ahay69mzrvck-libjpeg-9b" "/gnu/store/plsr1pfxj7n9aamxl9j5f6bv2mwlbkrs-shishi-1.0.2" "/gnu/store/qc4avwlbwyprz6gq9fcqwp043r8063f6-libltdl-2.4.6" "/gnu/store/qh1fri7qppqi8bhyzbiw7h8knmk4cb3q-libltdl-2.4.6" "/gnu/store/qhx7dmnqflkmykg50cm8s243bg1gq8if-libxt-1.1.5" "/gnu/store/qk79ck8gy1zppi4mbw4zw2y4z326wa4i-ld-wrapper-0" "/gnu/store/qzz2mg9500x6srp6ivscb401xinajn9y-gzip-1.8" "/gnu/store/r362f8p4y0xj7sm2jfqysry086lxy91v-zlib-1.2.11" "/gnu/store/r7sf4w2wwrbxbcf04pi9a5gkdhzaya2g-module-import-compiled" "/gnu/store/ryqd73alrlq5djsr18xjjihi735592im-pkg-config-0.29.2" "/gnu/store/scs7siybrjl5bb7sxqaskysf8n1ld718-gmp-6.1.2" "/gnu/store/sfx1wh27i6gsrk21p87rdyikc64v7d51-zlib-1.2.11" "/gnu/store/sngyhm974sbmljknwb1xrni1ggzhpm4d-grep-3.0" "/gnu/store/vais0pchk05ihl7kqj7rq8zf8p4cjdha-libice-1.0.9" "/gnu/store/w150ql3qy0di4dnp4c95hpaw6m1aafwc-pkg-config-0.29.2" "/gnu/store/w31zw2chff41x6q6kpa2wrkgx8agr0an-libidn-1.33" "/gnu/store/w620fzvfhq4qzpclaijd5fdqi2zaxify-curl-7.55.1" "/gnu/store/w7p84w2drhdy19j8dyv715i574lj40s9-readline-7.0" "/gnu/store/w85rbll51r86mclkmp1bxa774b36jy1q-mit-krb5-1.15.1" "/gnu/store/w8kii3hjvmh50yxs52gkdywkq9jc7s19-pixman-0.34.0" "/gnu/store/wdlhrg370gm42s7ggyhnvnb4xrzpls1x-expat-2.2.1" "/gnu/store/wljjs4hyiqalf9a1gyc6xnpcvny7jy8c-gettext-minimal-0.19.8.1" "/gnu/store/x8cwg5bm9y2dk1mrhisr63b5q98mbhhz-guile-bytestructures-20170402.91d042e" "/gnu/store/x9xjvmaxz5jy72yqk7l36r5fd81zldy0-module-import" "/gnu/store/xhwmxry8kkmq7897558qmcmfsx8r1z45-module-import" "/gnu/store/xv8bp0zxbr9iphr38wy0ll4lzkbh9i87-libxau-1.0.8" "/gnu/store/y31sxrygd9ifpxra06bmlx8c52gbydd4-glibc-utf8-locales-2.25" "/gnu/store/yihvhxv3xyyvl1m2cy1lnf1lyi9h76fk-guile-2.2.2" "/gnu/store/yj761534yp7d4nyndr80y3kwd8bqw5wl-openldap-2.4.45" "/gnu/store/ynp950nlaj0xx39gf5a10fq7rnsx1672-libatomic-ops-7.4.4" "/gnu/store/yz1lf55ag0904w9ib0q2kcjpdx33y7wm-attr-2.4.47" "/gnu/store/yzlmd2nlcyjhx0ydbap7x32zjqxc3hz9-libcap-2.25" "/gnu/store/zbywrj6klakskj0sppq56viqh9l56jl0-util-linux-2.30.1" "/gnu/store/zhhdii9mjckb6c2f7abmdsx39khv6dla-tar-1.29" "/gnu/store/zhrajv6qf2hzn9c3g2bb07559hyrz5xp-bash-static-4.4.12" "/tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0" "/proc" "/dev/shm" "/dev/pts") result: PASS test-name: swapon, ENOENT/EPERM location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/syscalls.scm:63 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-10.0b4c385.drv-0/source/tests/syscalls.scm:71 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-10.0b4c385.drv-0/source/tests/syscalls.scm:79 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-10.0b4c385.drv-0/source/tests/syscalls.scm:87 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-10.0b4c385.drv-0/source/tests/syscalls.scm:94 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-10.0b4c385.drv-0/source/tests/syscalls.scm:112 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-10.0b4c385.drv-0/source/tests/syscalls.scm:126 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-10.0b4c385.drv-0/source/tests/syscalls.scm:159 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: scandir*, ENOENT location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/syscalls.scm:192 source: + (test-equal + "scandir*, ENOENT" + ENOENT + (catch 'system-error + (lambda () (scandir* "/does/not/exist")) + (lambda args (system-error-errno args)))) expected-value: 2 actual-value: 2 result: PASS test-name: scandir*, ASCII file names location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/syscalls.scm:200 source: + (test-equal + "scandir*, ASCII file names" + (scandir + (dirname + (search-path %load-path "guix/base32.scm")) + (const #t) + stringprocedure + int + (dynamic-func "creat" (dynamic-link)) + (list '* int)))) + (creat (string->pointer + (string-append directory "/α") + "UTF-8") + 420) + (creat (string->pointer + (string-append directory "/λ") + "UTF-8") + 420) + (let ((locale (setlocale LC_ALL))) + (dynamic-wind + (lambda () (setlocale LC_ALL "C")) + (lambda () + (match (scandir* directory) + (((names . properties) ...) names))) + (lambda () (setlocale LC_ALL locale)))))))) expected-value: ("." ".." "α" "λ") actual-value: ("." ".." "α" "λ") result: PASS test-name: scandir*, properties location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/syscalls.scm:234 source: + (test-assert + "scandir*, properties" + (let ((directory + (dirname + (search-path %load-path "guix/base32.scm")))) + (every (lambda (entry name) + (match entry + ((name2 . properties) + (and (string=? name2 name) + (let* ((full (string-append directory "/" name)) + (stat (lstat full)) + (inode (assoc-ref properties 'inode)) + (type (assoc-ref properties 'type))) + (and (= inode (stat:ino stat)) + (or (eq? type 'unknown) + (eq? type (stat:type stat))))))))) + (scandir* directory) + (scandir directory (const #t) string (termios-input-speed termios) 0) + (> (termios-output-speed termios) 0)))) result: SKIP test-name: tcsetattr location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/syscalls.scm:502 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-10.0b4c385.drv-0/source/tests/syscalls.scm:507 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-10.0b4c385.drv-0/source/tests/syscalls.scm:518 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-10.0b4c385.drv-0/source/tests/syscalls.scm:521 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-10.0b4c385.drv-0/source/tests/syscalls.scm:525 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-10.0b4c385.drv-0/source/tests/syscalls.scm:537 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-10.0b4c385.drv-0/source/tests/syscalls.scm:542 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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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)))) + (expected (namespaces pid)) + (result + (container-excursion* + pid + (lambda () (namespaces 1))))) + (kill pid SIGKILL) + (equal? result expected))))) result: SKIP test-name: container-excursion*, same namespaces location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/containers.scm:216 source: + (test-equal + "container-excursion*, same namespaces" + 42 + (container-excursion* + (getpid) + (lambda () (* 6 7)))) result: SKIP SKIP: tests/pack ================ random seed for tests: 1511181091 test-name: self-contained-tarball location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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 ================ foo-1.0.0/ foo-1.0.0/requirements.txt test-name: guix-package->pypi-name, old URL style location: /tmp/guix-build-guix-0.13.0-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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-10.0b4c385.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 ('pypi-uri "foo" 'version)) + ('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)))))) actual-value: #t result: random seed for tests: 1511181166 PASS test-name: pypi->guix-package, wheels location: /tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/tests/pypi.scm:154 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 ('pypi-uri "foo" 'version)) + ('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 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: 18933 Terminated "/tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/pre-inst-env" "/tmp/guix-build-guix-0.13.0-10.0b4c385.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: 19891 Terminated "/tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/pre-inst-env" "/tmp/guix-build-guix-0.13.0-10.0b4c385.drv-0/source/guix-daemon" --disable-chroot --substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL" SKIP tests/guix-environment-container.sh (exit status: 77)