unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#54773: Bug
@ 2022-04-07 17:31 Dennis Seidler via Bug reports for GNU Guix
  2022-04-08 12:10 ` zimoun
  0 siblings, 1 reply; 2+ messages in thread
From: Dennis Seidler via Bug reports for GNU Guix @ 2022-04-07 17:31 UTC (permalink / raw)
  To: 54773


[-- Attachment #1.1: Type: text/plain, Size: 2879 bytes --]

Versions:
guile-json              4.5.2                   out
/gnu/store/grjvqx3xfjlczak7j3gsdf0q4wf7fnw6-guile-json-4.5.2
guile-git               0.5.2                   out
/gnu/store/b9srz33q8nxfchf93qbs2qpal0a0fmdk-guile-git-0.5.2
guile-avahi             0.4.0-1.6d43caf         out
/gnu/store/xh1za68mijfc9n5qfp78ysry8ma3qh79-guile-avahi-0.4.0-1.6d43caf
guile-lzlib             0.0.2                   out
/gnu/store/s1k8dd9bgya7hdcy9bp556a63dsx44z3-guile-lzlib-0.0.2
guile-zlib              0.1.0                   out
/gnu/store/i03bxwialv5vzvfwrm0mrnnxli4lswys-guile-zlib-0.1.0
guile-sqlite3           0.1.2                   out
/gnu/store/zla19n28n59riyg1yvwhcj7w90zb9gdq-guile-sqlite3-0.1.2
guile-gcrypt            0.3.0                   out
/gnu/store/60jl4xry9c93j9l0rr7nkvbw7dihjz4k-guile-gcrypt-0.3.0
guile2.2-gnutls         3.7.2                   out
/gnu/store/4zcmnfk1wqnlac2qypgxaixcqxhny16n-guile2.2-gnutls-3.7.2
guile2.2-ncurses        3.0                     out
/gnu/store/d771rqrl8cr96drwqshzjyp182xzrgdr-guile2.2-ncurses-3.0
guile2.2-reader         0.6.3                   out
/gnu/store/hpnnawj5s0si93nsbm2r5mjnry2kc327-guile2.2-reader-0.6.3
guile2.2-lib            0.2.7                   out
/gnu/store/vchqzk55nd1fvcmpcbhfbc43j8vkigyn-guile2.2-lib-0.2.7
guile                   3.0.8                   out
/gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8
gnutls                  3.7.2                   out
/gnu/store/zl9wf0zwq2ka9rpmayp53hnp2mn460xf-gnutls-3.7.2
gcc                     11.2.0                  out
/gnu/store/rhwx78cp1s8nbi93b6p5xpdfd7rpq969-gcc-11.2.0
make                    4.3                     out
/gnu/store/xijziz8r87baiz87vc9sm04lwadwf4ls-make-4.3
libgcrypt               1.8.8                   out
/gnu/store/3kl94m3ksm45a880b6lnn3kagk857lj9-libgcrypt-1.8.8
sqlite                  3.37.0                  out
/gnu/store/jd6nn2c8ln5flv4vwl7pp1w804w2i9wj-sqlite-3.37.0
zlib                    1.2.11                  out
/gnu/store/8qv5kb2fgm4c3bf70zcg9l6hkf3qzpw9-zlib-1.2.11


============================================================================
Testsuite summary for GNU Guix 1.3.0.17414-e777c
============================================================================
# TOTAL: 2145
# PASS:  2136
# SKIP:  7
# XFAIL: 1
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to bug-guix@gnu.org
============================================================================
make[4]: *** [Makefile:5947: test-suite.log] Fehler 1
make[4]: Verzeichnis „/home/denyosef/guix“ wird verlassen
make[3]: *** [Makefile:6055: check-TESTS] Fehler 2
make[3]: Verzeichnis „/home/denyosef/guix“ wird verlassen
make[2]: *** [Makefile:6304: check-am] Fehler 2
:

[-- Attachment #1.2: Type: text/html, Size: 3441 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: test-suite.log --]
[-- Type: text/x-log; charset="US-ASCII"; name="test-suite.log", Size: 84226 bytes --]

==================================================
   GNU Guix 1.3.0.17414-e777c: ./test-suite.log
==================================================

# TOTAL: 2145
# PASS:  2136
# SKIP:  7
# XFAIL: 1
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

SKIP: tests/cpio
================

test-name: file->cpio-header + write-cpio-header + read-cpio-header
location: /home/denyosef/guix/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: /home/denyosef/guix/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/crate
=================

test-name: guix-package->crate-name
location: /home/denyosef/guix/tests/crate.scm:326
source:
+ (test-equal
+   "guix-package->crate-name"
+   "rustc-serialize"
+   (guix-package->crate-name
+     (dummy-package
+       "rust-rustc-serialize"
+       (source
+         (dummy-origin
+           (uri (crate-uri "rustc-serialize" "1.0")))))))
expected-value: "rustc-serialize"
actual-value: "rustc-serialize"
result: PASS

test-name: crate->guix-package
location: /home/denyosef/guix/tests/crate.scm:335
source:
+ (test-assert
+   "crate->guix-package"
+   (mock ((guix http-client)
+          http-fetch
+          (lambda (url . rest)
+            (match url
+                   ("https://crates.io/api/v1/crates/foo"
+                    (open-input-string test-foo-crate))
+                   ("https://crates.io/api/v1/crates/foo/1.0.3/download"
+                    (set! test-source-hash
+                      (bytevector->nix-base32-string
+                        (sha256
+                          (string->bytevector "empty file\n" "utf-8"))))
+                    (open-input-string "empty file\n"))
+                   ("https://crates.io/api/v1/crates/foo/1.0.3/dependencies"
+                    (open-input-string test-foo-dependencies))
+                   ("https://crates.io/api/v1/crates/leaf-alice"
+                    (open-input-string test-leaf-alice-crate))
+                   ("https://crates.io/api/v1/crates/leaf-alice/0.7.5/download"
+                    (set! test-source-hash
+                      (bytevector->nix-base32-string
+                        (sha256
+                          (string->bytevector "empty file\n" "utf-8"))))
+                    (open-input-string "empty file\n"))
+                   ("https://crates.io/api/v1/crates/leaf-alice/0.7.5/dependencies"
+                    (open-input-string test-leaf-alice-dependencies))
+                   (_ (error "Unexpected URL: " url)))))
+         (match (crate->guix-package "foo")
+                ((define-public 'rust-foo-1
+                   (package
+                     (name "rust-foo")
+                     (version "1.0.3")
+                     (source
+                       (origin
+                         (method url-fetch)
+                         (uri (crate-uri "foo" 'version))
+                         (file-name
+                           (string-append name "-" version ".tar.gz"))
+                         (sha256 (base32 (? string? hash)))))
+                     (build-system 'cargo-build-system)
+                     (arguments
+                       ('quasiquote
+                        (#:skip-build?
+                         #t
+                         #:cargo-inputs
+                         (("rust-leaf-alice"
+                           ('unquote 'rust-leaf-alice-0.7))))))
+                     (home-page "http://example.com")
+                     (synopsis "summary")
+                     (description "summary")
+                     (license (list license:expat license:asl2.0))))
+                 (string=? test-source-hash hash))
+                (x (pk 'fail x #f)))))
result: SKIP

test-name: cargo-recursive-import
location: /home/denyosef/guix/tests/crate.scm:388
source:
+ (test-assert
+   "cargo-recursive-import"
+   (mock ((guix http-client)
+          http-fetch
+          (lambda (url . rest)
+            (match url
+                   ("https://crates.io/api/v1/crates/root"
+                    (open-input-string test-root-crate))
+                   ("https://crates.io/api/v1/crates/root/1.0.4/download"
+                    (set! test-source-hash
+                      (bytevector->nix-base32-string
+                        (sha256
+                          (string->bytevector "empty file\n" "utf-8"))))
+                    (open-input-string "empty file\n"))
+                   ("https://crates.io/api/v1/crates/root/1.0.4/dependencies"
+                    (open-input-string test-root-dependencies))
+                   ("https://crates.io/api/v1/crates/intermediate-a"
+                    (open-input-string test-intermediate-a-crate))
+                   ("https://crates.io/api/v1/crates/intermediate-a/1.0.42/download"
+                    (set! test-source-hash
+                      (bytevector->nix-base32-string
+                        (sha256
+                          (string->bytevector "empty file\n" "utf-8"))))
+                    (open-input-string "empty file\n"))
+                   ("https://crates.io/api/v1/crates/intermediate-a/1.0.42/dependencies"
+                    (open-input-string
+                      test-intermediate-a-dependencies))
+                   ("https://crates.io/api/v1/crates/intermediate-b"
+                    (open-input-string test-intermediate-b-crate))
+                   ("https://crates.io/api/v1/crates/intermediate-b/1.2.3/download"
+                    (set! test-source-hash
+                      (bytevector->nix-base32-string
+                        (sha256
+                          (string->bytevector "empty file\n" "utf-8"))))
+                    (open-input-string "empty file\n"))
+                   ("https://crates.io/api/v1/crates/intermediate-b/1.2.3/dependencies"
+                    (open-input-string
+                      test-intermediate-b-dependencies))
+                   ("https://crates.io/api/v1/crates/leaf-alice"
+                    (open-input-string test-leaf-alice-crate))
+                   ("https://crates.io/api/v1/crates/leaf-alice/0.7.5/download"
+                    (set! test-source-hash
+                      (bytevector->nix-base32-string
+                        (sha256
+                          (string->bytevector "empty file\n" "utf-8"))))
+                    (open-input-string "empty file\n"))
+                   ("https://crates.io/api/v1/crates/leaf-alice/0.7.5/dependencies"
+                    (open-input-string test-leaf-alice-dependencies))
+                   ("https://crates.io/api/v1/crates/leaf-bob"
+                    (open-input-string test-leaf-bob-crate))
+                   ("https://crates.io/api/v1/crates/leaf-bob/3.0.1/download"
+                    (set! test-source-hash
+                      (bytevector->nix-base32-string
+                        (sha256
+                          (string->bytevector "empty file\n" "utf-8"))))
+                    (open-input-string "empty file\n"))
+                   ("https://crates.io/api/v1/crates/leaf-bob/3.0.1/dependencies"
+                    (open-input-string test-leaf-bob-dependencies))
+                   (_ (error "Unexpected URL: " url)))))
+         (match (crate-recursive-import "root")
+                (((define-public 'rust-leaf-alice-0.7
+                    (package
+                      (name "rust-leaf-alice")
+                      (version "0.7.5")
+                      (source
+                        (origin
+                          (method url-fetch)
+                          (uri (crate-uri "leaf-alice" version))
+                          (file-name
+                            (string-append name "-" version ".tar.gz"))
+                          (sha256 (base32 (? string? hash)))))
+                      (build-system cargo-build-system)
+                      (arguments ('quasiquote (#:skip-build? #t)))
+                      (home-page "http://example.com")
+                      (synopsis "summary")
+                      (description "summary")
+                      (license (list license:expat license:asl2.0))))
+                  (define-public 'rust-leaf-bob-3
+                    (package
+                      (name "rust-leaf-bob")
+                      (version "3.0.1")
+                      (source
+                        (origin
+                          (method url-fetch)
+                          (uri (crate-uri "leaf-bob" version))
+                          (file-name
+                            (string-append name "-" version ".tar.gz"))
+                          (sha256 (base32 (? string? hash)))))
+                      (build-system cargo-build-system)
+                      (arguments ('quasiquote (#:skip-build? #t)))
+                      (home-page "http://example.com")
+                      (synopsis "summary")
+                      (description "summary")
+                      (license (list license:expat license:asl2.0))))
+                  (define-public 'rust-intermediate-b-1
+                    (package
+                      (name "rust-intermediate-b")
+                      (version "1.2.3")
+                      (source
+                        (origin
+                          (method url-fetch)
+                          (uri (crate-uri "intermediate-b" version))
+                          (file-name
+                            (string-append name "-" version ".tar.gz"))
+                          (sha256 (base32 (? string? hash)))))
+                      (build-system cargo-build-system)
+                      (arguments
+                        ('quasiquote
+                         (#:skip-build?
+                          #t
+                          #:cargo-inputs
+                          (("rust-leaf-bob" ('unquote rust-leaf-bob-3))))))
+                      (home-page "http://example.com")
+                      (synopsis "summary")
+                      (description "summary")
+                      (license (list license:expat license:asl2.0))))
+                  (define-public 'rust-intermediate-a-1
+                    (package
+                      (name "rust-intermediate-a")
+                      (version "1.0.42")
+                      (source
+                        (origin
+                          (method url-fetch)
+                          (uri (crate-uri "intermediate-a" version))
+                          (file-name
+                            (string-append name "-" version ".tar.gz"))
+                          (sha256 (base32 (? string? hash)))))
+                      (build-system cargo-build-system)
+                      (arguments
+                        ('quasiquote
+                         (#:skip-build?
+                          #t
+                          #:cargo-inputs
+                          (("rust-intermediate-b"
+                            ('unquote rust-intermediate-b-1))
+                           ("rust-leaf-alice"
+                            ('unquote 'rust-leaf-alice-0.7))
+                           ("rust-leaf-bob" ('unquote rust-leaf-bob-3))))))
+                      (home-page "http://example.com")
+                      (synopsis "summary")
+                      (description "summary")
+                      (license (list license:expat license:asl2.0))))
+                  (define-public 'rust-root-1
+                    (package
+                      (name "rust-root")
+                      (version "1.0.4")
+                      (source
+                        (origin
+                          (method url-fetch)
+                          (uri (crate-uri "root" version))
+                          (file-name
+                            (string-append name "-" version ".tar.gz"))
+                          (sha256 (base32 (? string? hash)))))
+                      (build-system cargo-build-system)
+                      (arguments
+                        ('quasiquote
+                         (#:cargo-inputs
+                          (("rust-intermediate-a"
+                            ('unquote rust-intermediate-a-1))
+                           ("rust-intermediate-b"
+                            ('unquote rust-intermediate-b-1))
+                           ("rust-leaf-alice"
+                            ('unquote 'rust-leaf-alice-0.7))
+                           ("rust-leaf-bob" ('unquote rust-leaf-bob-3))))))
+                      (home-page "http://example.com")
+                      (synopsis "summary")
+                      (description "summary")
+                      (license (list license:expat license:asl2.0)))))
+                 #t)
+                (x (pk 'fail x #f)))))
result: SKIP

test-name: licenses: MIT OR Apache-2.0
location: /home/denyosef/guix/tests/crate.scm:562
source:
+ (test-equal
+   "licenses: MIT OR Apache-2.0"
+   '(license:expat license:asl2.0)
+   (string->license "MIT OR Apache-2.0"))
expected-value: (license:expat license:asl2.0)
actual-value: (license:expat license:asl2.0)
result: PASS

test-name: licenses: Apache-2.0 / MIT
location: /home/denyosef/guix/tests/crate.scm:566
source:
+ (test-equal
+   "licenses: Apache-2.0 / MIT"
+   '(license:asl2.0 license:expat)
+   (string->license "Apache-2.0 / MIT"))
expected-value: (license:asl2.0 license:expat)
actual-value: (license:asl2.0 license:expat)
result: PASS

test-name: licenses: Apache-2.0 WITH LLVM-exception
location: /home/denyosef/guix/tests/crate.scm:570
source:
+ (test-equal
+   "licenses: Apache-2.0 WITH LLVM-exception"
+   '(license:asl2.0 unknown-license!)
+   (string->license
+     "Apache-2.0 WITH LLVM-exception"))
expected-value: (license:asl2.0 unknown-license!)
actual-value: (license:asl2.0 unknown-license!)
result: PASS

test-name: licenses: MIT/Apache-2.0 AND BSD-2-Clause
location: /home/denyosef/guix/tests/crate.scm:574
source:
+ (test-equal
+   "licenses: MIT/Apache-2.0 AND BSD-2-Clause"
+   '(license:expat license:asl2.0 unknown-license!)
+   (string->license
+     "MIT/Apache-2.0 AND BSD-2-Clause"))
expected-value: (license:expat license:asl2.0 unknown-license!)
actual-value: (license:expat license:asl2.0 unknown-license!)
result: PASS

test-name: licenses: MIT/Apache-2.0
location: /home/denyosef/guix/tests/crate.scm:578
source:
+ (test-equal
+   "licenses: MIT/Apache-2.0"
+   '(license:expat license:asl2.0)
+   (string->license "MIT/Apache-2.0"))
expected-value: (license:expat license:asl2.0)
actual-value: (license:expat license:asl2.0)
result: PASS

test-name: self-test: rust-docopt 0.8.x is gone, please adjust the test case
location: /home/denyosef/guix/tests/crate.scm:619
source:
+ (test-assert
+   "self-test: rust-docopt 0.8.x is gone, please adjust the test case"
+   (not (null? (find-packages-by-name "rust-docopt" "0.8"))))
actual-value: #t
result: PASS

test-name: cargo-recursive-import-hoors-existing-packages
location: /home/denyosef/guix/tests/crate.scm:623
source:
+ (test-assert
+   "cargo-recursive-import-hoors-existing-packages"
+   (mock ((guix http-client)
+          http-fetch
+          (lambda (url . rest)
+            (match url
+                   ("https://crates.io/api/v1/crates/doctool"
+                    (open-input-string test-doctool-crate))
+                   ("https://crates.io/api/v1/crates/doctool/2.2.2/download"
+                    (set! test-source-hash
+                      (bytevector->nix-base32-string
+                        (sha256
+                          (string->bytevector "empty file\n" "utf-8"))))
+                    (open-input-string "empty file\n"))
+                   ("https://crates.io/api/v1/crates/doctool/2.2.2/dependencies"
+                    (open-input-string test-doctool-dependencies))
+                   (_ (error "Unexpected URL: " url)))))
+         (match (crate-recursive-import "doctool")
+                (((define-public 'rust-doctool-2
+                    (package
+                      (name "rust-doctool")
+                      (version "2.2.2")
+                      (source
+                        (origin
+                          (method url-fetch)
+                          (uri (crate-uri "doctool" version))
+                          (file-name
+                            (string-append name "-" version ".tar.gz"))
+                          (sha256 (base32 (? string? hash)))))
+                      (build-system cargo-build-system)
+                      (arguments
+                        ('quasiquote
+                         (#:cargo-inputs
+                          (("rust-docopt" ('unquote 'rust-docopt-0.8))))))
+                      (home-page "http://example.com")
+                      (synopsis "summary")
+                      (description "summary")
+                      (license (list license:expat license:asl2.0)))))
+                 #t)
+                (x (pk 'fail x #f)))))
result: SKIP


SKIP: tests/hackage
===================


Starting download of /tmp/guix-file.Gr118I
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "Not Found"

Starting download of /tmp/guix-file.Gr118I
From https://web.archive.org/web/20220407163350/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://web.archive.org/web/20220407163350/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "NOT FOUND"
Trying to use Disarchive to assemble /tmp/guix-file.Gr118I...
could not load Disarchive
failed to download "/tmp/guix-file.Gr118I" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
test-name: hackage->guix-package test 1
location: /home/denyosef/guix/tests/hackage.scm:189
source:
+ (test-assert
+   "hackage->guix-package test 1"
+   (eval-test-with-cabal test-cabal-1 match-ghc-foo))
actual-value: #t
result: PASS


Starting download of /tmp/guix-file.1MerzI
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "Not Found"

Starting download of /tmp/guix-file.1MerzI
From https://web.archive.org/web/20220407163354/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://web.archive.org/web/20220407163354/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "NOT FOUND"
Trying to use Disarchive to assemble /tmp/guix-file.1MerzI...
could not load Disarchive
failed to download "/tmp/guix-file.1MerzI" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
test-name: hackage->guix-package test 2
location: /home/denyosef/guix/tests/hackage.scm:192
source:
+ (test-assert
+   "hackage->guix-package test 2"
+   (eval-test-with-cabal test-cabal-2 match-ghc-foo))
actual-value: #t
result: PASS


Starting download of /tmp/guix-file.18u4mt
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "Not Found"

Starting download of /tmp/guix-file.18u4mt
From https://web.archive.org/web/20220407163356/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://web.archive.org/web/20220407163356/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "NOT FOUND"
Trying to use Disarchive to assemble /tmp/guix-file.18u4mt...
could not load Disarchive
failed to download "/tmp/guix-file.18u4mt" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
test-name: hackage->guix-package test 3
location: /home/denyosef/guix/tests/hackage.scm:195
source:
+ (test-assert
+   "hackage->guix-package test 3"
+   (eval-test-with-cabal
+     test-cabal-3
+     match-ghc-foo
+     #:cabal-environment
+     '(("impl" . "ghc-7.8"))))
actual-value: #t
result: PASS


Starting download of /tmp/guix-file.aPwFT2
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "Not Found"

Starting download of /tmp/guix-file.aPwFT2
From https://web.archive.org/web/20220407163358/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://web.archive.org/web/20220407163358/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "NOT FOUND"
Trying to use Disarchive to assemble /tmp/guix-file.aPwFT2...
could not load Disarchive
failed to download "/tmp/guix-file.aPwFT2" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
test-name: hackage->guix-package test 4
location: /home/denyosef/guix/tests/hackage.scm:199
source:
+ (test-assert
+   "hackage->guix-package test 4"
+   (eval-test-with-cabal
+     test-cabal-4
+     match-ghc-foo
+     #:cabal-environment
+     '(("impl" . "ghc-7.8"))))
actual-value: #t
result: PASS


Starting download of /tmp/guix-file.s0ngNG
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "Not Found"

Starting download of /tmp/guix-file.s0ngNG
From https://web.archive.org/web/20220407163359/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://web.archive.org/web/20220407163359/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "NOT FOUND"
Trying to use Disarchive to assemble /tmp/guix-file.s0ngNG...
could not load Disarchive
failed to download "/tmp/guix-file.s0ngNG" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
test-name: hackage->guix-package test 5
location: /home/denyosef/guix/tests/hackage.scm:203
source:
+ (test-assert
+   "hackage->guix-package test 5"
+   (eval-test-with-cabal
+     test-cabal-5
+     match-ghc-foo
+     #:cabal-environment
+     '(("impl" . "ghc-7.8"))))
actual-value: #t
result: PASS


Starting download of /tmp/guix-file.01A49L
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "Not Found"

Starting download of /tmp/guix-file.01A49L
From https://web.archive.org/web/20220407163401/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://web.archive.org/web/20220407163401/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "NOT FOUND"
Trying to use Disarchive to assemble /tmp/guix-file.01A49L...
could not load Disarchive
failed to download "/tmp/guix-file.01A49L" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
test-name: hackage->guix-package test 6
location: /home/denyosef/guix/tests/hackage.scm:226
source:
+ (test-assert
+   "hackage->guix-package test 6"
+   (eval-test-with-cabal
+     test-cabal-6
+     match-ghc-foo-6))
actual-value: #t
result: PASS


Starting download of /tmp/guix-file.upmQXb
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "Not Found"

Starting download of /tmp/guix-file.upmQXb
From https://web.archive.org/web/20220407163403/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://web.archive.org/web/20220407163403/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "NOT FOUND"
Trying to use Disarchive to assemble /tmp/guix-file.upmQXb...
could not load Disarchive
failed to download "/tmp/guix-file.upmQXb" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
test-name: hackage->guix-package test multiline desc (layout)
location: /home/denyosef/guix/tests/hackage.scm:244
source:
+ (test-assert
+   "hackage->guix-package test multiline desc (layout)"
+   (eval-test-with-cabal
+     test-cabal-multiline-layout
+     match-ghc-foo))
actual-value: #t
result: PASS


Starting download of /tmp/guix-file.Pil2RQ
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "Not Found"

Starting download of /tmp/guix-file.Pil2RQ
From https://web.archive.org/web/20220407163405/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://web.archive.org/web/20220407163405/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "NOT FOUND"
Trying to use Disarchive to assemble /tmp/guix-file.Pil2RQ...
could not load Disarchive
failed to download "/tmp/guix-file.Pil2RQ" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
test-name: hackage->guix-package test multiline desc (braced)
location: /home/denyosef/guix/tests/hackage.scm:264
source:
+ (test-assert
+   "hackage->guix-package test multiline desc (braced)"
+   (eval-test-with-cabal
+     test-cabal-multiline-braced
+     match-ghc-foo))
actual-value: #t
result: PASS

Syntax error: unexpected token : (ghc-options (-Wall)) (at line 11, column 2)
Syntax error: unexpected end of input

;;; (fail #f #f)
test-name: hackage->guix-package test mixed layout
location: /home/denyosef/guix/tests/hackage.scm:284
source:
+ (test-assert
+   "hackage->guix-package test mixed layout"
+   (eval-test-with-cabal
+     test-cabal-mixed-layout
+     match-ghc-foo))
actual-value: #f
result: XFAIL


Starting download of /tmp/guix-file.0ABQVs
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "Not Found"

Starting download of /tmp/guix-file.0ABQVs
From https://web.archive.org/web/20220407163407/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://web.archive.org/web/20220407163407/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "NOT FOUND"
Trying to use Disarchive to assemble /tmp/guix-file.0ABQVs...
could not load Disarchive
failed to download "/tmp/guix-file.0ABQVs" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
test-name: hackage->guix-package test flag executable
location: /home/denyosef/guix/tests/hackage.scm:309
source:
+ (test-assert
+   "hackage->guix-package test flag executable"
+   (eval-test-with-cabal
+     test-cabal-flag-executable
+     match-ghc-foo))
actual-value: #t
result: PASS


Starting download of /tmp/guix-file.OfbhHv
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "Not Found"

Starting download of /tmp/guix-file.OfbhHv
From https://web.archive.org/web/20220407163410/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://web.archive.org/web/20220407163410/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "NOT FOUND"
Trying to use Disarchive to assemble /tmp/guix-file.OfbhHv...
could not load Disarchive
failed to download "/tmp/guix-file.OfbhHv" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
test-name: hackage->guix-package test cabal revision
location: /home/denyosef/guix/tests/hackage.scm:349
source:
+ (test-assert
+   "hackage->guix-package test cabal revision"
+   (eval-test-with-cabal
+     test-cabal-revision
+     match-ghc-foo-revision))
actual-value: #t
result: PASS

test-name: read-cabal test 1
location: /home/denyosef/guix/tests/hackage.scm:352
source:
+ (test-assert
+   "read-cabal test 1"
+   (match (call-with-input-string
+            test-read-cabal-1
+            read-cabal)
+          ((("name" ("test-me"))
+            ('section
+             'library
+             (('if
+               ('flag "base4point8")
+               (("build-depends" ("base >= 4.8 && < 5")))
+               (('if
+                 ('flag "base4")
+                 (("build-depends" ("base >= 4 && < 4.8")))
+                 (('if
+                   ('flag "base3")
+                   (("build-depends" ("base >= 3 && < 4")))
+                   (("build-depends" ("base < 3"))))))))
+              ('if
+               ('or
+                ('flag "base4point8")
+                ('and ('flag "base4") ('flag "base3")))
+               (("build-depends" ("random")))
+               ())
+              ("build-depends" ("containers"))
+              ("exposed-modules" ("Test.QuickCheck.Exception")))))
+           #t)
+          (x (pk 'fail x #f))))
actual-value: #t
result: PASS


Starting download of /tmp/guix-file.2legIP
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "Not Found"

Starting download of /tmp/guix-file.2legIP
From https://web.archive.org/web/20220407163411/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
download failed "https://web.archive.org/web/20220407163411/https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz" 404 "NOT FOUND"
Trying to use Disarchive to assemble /tmp/guix-file.2legIP...
could not load Disarchive
failed to download "/tmp/guix-file.2legIP" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
test-name: hackage->guix-package test cabal import
location: /home/denyosef/guix/tests/hackage.scm:406
source:
+ (test-assert
+   "hackage->guix-package test cabal import"
+   (eval-test-with-cabal
+     test-cabal-import
+     match-ghc-foo-import))
actual-value: #t
result: PASS


SKIP: tests/inferior
====================

test-name: open-inferior
location: /home/denyosef/guix/tests/inferior.scm:54
source:
+ (test-equal
+   "open-inferior"
+   '(42 #t)
+   (let ((inferior
+           (open-inferior
+             %top-builddir
+             #:command
+             "scripts/guix")))
+     (and (inferior? inferior)
+          (let ((a (inferior-eval '(apply * '(6 7)) inferior))
+                (b (inferior-eval
+                     '(@ (gnu packages base) coreutils)
+                     inferior)))
+            (close-inferior inferior)
+            (list a (inferior-object? b))))))
expected-value: (42 #t)
actual-value: (42 #t)
result: PASS

test-name: &inferior-exception
location: /home/denyosef/guix/tests/inferior.scm:65
source:
+ (test-equal
+   "&inferior-exception"
+   '(a b c d)
+   (let ((inferior
+           (open-inferior
+             %top-builddir
+             #:command
+             "scripts/guix")))
+     (guard (c ((inferior-exception? c)
+                (close-inferior inferior)
+                (and (eq? inferior (inferior-exception-inferior c))
+                     (match (inferior-exception-stack c)
+                            (((_ (files lines columns)) ..1)
+                             (member "guix/repl.scm" files)))
+                     (inferior-exception-arguments c))))
+            (inferior-eval '(throw 'a 'b 'c 'd) inferior)
+            'badness)))
expected-value: (a b c d)
actual-value: (a b c d)
result: PASS

test-name: &inferior-exception, legacy mode
location: /home/denyosef/guix/tests/inferior.scm:79
source:
+ (test-equal
+   "&inferior-exception, legacy mode"
+   '(a b c d)
+   (let ((inferior (open-inferior %top-builddir)))
+     (guard (c ((inferior-exception? c)
+                (close-inferior inferior)
+                (and (eq? inferior (inferior-exception-inferior c))
+                     (inferior-exception-arguments c))))
+            (inferior-eval '(throw 'a 'b 'c 'd) inferior)
+            'badness)))
expected-value: (a b c d)
actual-value: (a b c d)
result: PASS

test-name: inferior-packages
location: /home/denyosef/guix/tests/inferior.scm:91
source:
+ (test-equal
+   "inferior-packages"
+   (take (sort (fold-packages
+                 (lambda (package lst)
+                   (cons (list (package-name package)
+                               (package-version package)
+                               (package-home-page package)
+                               (package-location package))
+                         lst))
+                 '())
+               (lambda (x y) (string<? (car x) (car y))))
+         10)
+   (let* ((inferior
+            (open-inferior
+              %top-builddir
+              #:command
+              "scripts/guix"))
+          (packages (inferior-packages inferior)))
+     (and (every string?
+                 (map inferior-package-synopsis packages))
+          (let ()
+            (define result
+              (take (sort (map (lambda (package)
+                                 (list (inferior-package-name package)
+                                       (inferior-package-version package)
+                                       (inferior-package-home-page package)
+                                       (inferior-package-location package)))
+                               packages)
+                          (lambda (x y) (string<? (car x) (car y))))
+                    10))
+            (close-inferior inferior)
+            result))))
expected-value: (("0ad" "0.0.25b-alpha" "https://play0ad.com" #<<location> file: "gnu/packages/games.scm" line: 6613 column: 2>) ("0ad-data" "0.0.25b-alpha" "https://play0ad.com" #<<location> file: "gnu/packages/games.scm" line: 6566 column: 2>) ("0xffff" "0.9" "https://github.com/pali/0xFFFF" #<<location> file: "gnu/packages/flashing-tools.scm" line: 106 column: 2>) ("389-ds-base" "1.4.4.17" "https://directory.fedoraproject.org" #<<location> file: "gnu/packages/openldap.scm" line: 245 column: 2>) ("4dtris" "0.4.3" "https://launchpad.net/4dtris/" #<<location> file: "gnu/packages/games.scm" line: 8660 column: 2>) ("4store" "1.1.6" "https://github.com/4store/4store" #<<location> file: "gnu/packages/databases.scm" line: 180 column: 2>) ("4ti2" "1.6.9" "http://www.4ti2.de/" #<<location> file: "gnu/packages/maths.scm" line: 691 column: 2>) ("7kaa" "2.15.4p1" "https://7kfans.com/" #<<location> file: "gnu/packages/games.scm" line: 12025 column: 2>) ("a2jmidid" "9" "https://github.com/jackaudio/a2jmidid" #<<location> file: "gnu/packages/music.scm" line: 6745 column: 2>) ("a2ps" "4.14" "https://www.gnu.org/software/a2ps/" #<<location> file: "gnu/packages/pretty-print.scm" line: 51 column: 2>))
actual-value: (("0ad" "0.0.25b-alpha" "https://play0ad.com" #<<location> file: "gnu/packages/games.scm" line: 6613 column: 2>) ("0ad-data" "0.0.25b-alpha" "https://play0ad.com" #<<location> file: "gnu/packages/games.scm" line: 6566 column: 2>) ("0xffff" "0.9" "https://github.com/pali/0xFFFF" #<<location> file: "gnu/packages/flashing-tools.scm" line: 106 column: 2>) ("389-ds-base" "1.4.4.17" "https://directory.fedoraproject.org" #<<location> file: "gnu/packages/openldap.scm" line: 245 column: 2>) ("4dtris" "0.4.3" "https://launchpad.net/4dtris/" #<<location> file: "gnu/packages/games.scm" line: 8660 column: 2>) ("4store" "1.1.6" "https://github.com/4store/4store" #<<location> file: "gnu/packages/databases.scm" line: 180 column: 2>) ("4ti2" "1.6.9" "http://www.4ti2.de/" #<<location> file: "gnu/packages/maths.scm" line: 691 column: 2>) ("7kaa" "2.15.4p1" "https://7kfans.com/" #<<location> file: "gnu/packages/games.scm" line: 12025 column: 2>) ("a2jmidid" "9" "https://github.com/jackaudio/a2jmidid" #<<location> file: "gnu/packages/music.scm" line: 6745 column: 2>) ("a2ps" "4.14" "https://www.gnu.org/software/a2ps/" #<<location> file: "gnu/packages/pretty-print.scm" line: 51 column: 2>))
result: PASS

test-name: inferior-available-packages
location: /home/denyosef/guix/tests/inferior.scm:120
source:
+ (test-equal
+   "inferior-available-packages"
+   (take (sort (fold-available-packages
+                 (lambda* (name
+                           version
+                           result
+                           #:key
+                           supported?
+                           deprecated?
+                           #:allow-other-keys)
+                   (if (and supported? (not deprecated?))
+                     (alist-cons name version result)
+                     result))
+                 '())
+               (lambda (x y) (string<? (car x) (car y))))
+         10)
+   (let* ((inferior
+            (open-inferior
+              %top-builddir
+              #:command
+              "scripts/guix"))
+          (packages (inferior-available-packages inferior)))
+     (close-inferior inferior)
+     (take (sort packages
+                 (lambda (x y) (string<? (car x) (car y))))
+           10)))
expected-value: (("0ad" . "0.0.25b-alpha") ("0ad-data" . "0.0.25b-alpha") ("0xffff" . "0.9") ("389-ds-base" . "1.4.4.17") ("4dtris" . "0.4.3") ("4store" . "1.1.6") ("4ti2" . "1.6.9") ("7kaa" . "2.15.4p1") ("a2jmidid" . "9") ("a2ps" . "4.14"))
actual-value: (("0ad" . "0.0.25b-alpha") ("0ad-data" . "0.0.25b-alpha") ("0xffff" . "0.9") ("389-ds-base" . "1.4.4.17") ("4dtris" . "0.4.3") ("4store" . "1.1.6") ("4ti2" . "1.6.9") ("7kaa" . "2.15.4p1") ("a2jmidid" . "9") ("a2ps" . "4.14"))
result: PASS

test-name: lookup-inferior-packages
location: /home/denyosef/guix/tests/inferior.scm:140
source:
+ (test-equal
+   "lookup-inferior-packages"
+   (let ((->list
+           (lambda (package)
+             (list (package-name package)
+                   (package-version package)
+                   (package-location package)))))
+     (list (map ->list (find-packages-by-name "guile" #f))
+           (map ->list
+                (find-packages-by-name "guile" "2.2"))))
+   (let* ((inferior
+            (open-inferior
+              %top-builddir
+              #:command
+              "scripts/guix"))
+          (->list
+            (lambda (package)
+              (list (inferior-package-name package)
+                    (inferior-package-version package)
+                    (inferior-package-location package))))
+          (lst1 (map ->list
+                     (lookup-inferior-packages inferior "guile")))
+          (lst2 (map ->list
+                     (lookup-inferior-packages inferior "guile" "2.2"))))
+     (close-inferior inferior)
+     (list lst1 lst2)))
expected-value: ((("guile" "3.0.8" #<<location> file: "gnu/packages/guile.scm" line: 392 column: 2>) ("guile" "3.0.7" #<<location> file: "gnu/packages/guile.scm" line: 310 column: 2>) ("guile" "2.2.7" #<<location> file: "gnu/packages/guile.scm" line: 250 column: 2>) ("guile" "2.2.4" #<<location> file: "gnu/packages/guile.scm" line: 297 column: 2>) ("guile" "2.0.14" #<<location> file: "gnu/packages/guile.scm" line: 147 column: 2>) ("guile" "1.8.8" #<<location> file: "gnu/packages/guile.scm" line: 76 column: 2>)) (("guile" "2.2.7" #<<location> file: "gnu/packages/guile.scm" line: 250 column: 2>) ("guile" "2.2.4" #<<location> file: "gnu/packages/guile.scm" line: 297 column: 2>)))
actual-value: ((("guile" "3.0.8" #<<location> file: "gnu/packages/guile.scm" line: 392 column: 2>) ("guile" "3.0.7" #<<location> file: "gnu/packages/guile.scm" line: 310 column: 2>) ("guile" "2.2.7" #<<location> file: "gnu/packages/guile.scm" line: 250 column: 2>) ("guile" "2.2.4" #<<location> file: "gnu/packages/guile.scm" line: 297 column: 2>) ("guile" "2.0.14" #<<location> file: "gnu/packages/guile.scm" line: 147 column: 2>) ("guile" "1.8.8" #<<location> file: "gnu/packages/guile.scm" line: 76 column: 2>)) (("guile" "2.2.7" #<<location> file: "gnu/packages/guile.scm" line: 250 column: 2>) ("guile" "2.2.4" #<<location> file: "gnu/packages/guile.scm" line: 297 column: 2>)))
result: PASS

test-name: lookup-inferior-packages and eq?-ness
location: /home/denyosef/guix/tests/inferior.scm:161
source:
+ (test-assert
+   "lookup-inferior-packages and eq?-ness"
+   (let* ((inferior
+            (open-inferior
+              %top-builddir
+              #:command
+              "scripts/guix"))
+          (lst1 (lookup-inferior-packages inferior "guile"))
+          (lst2 (lookup-inferior-packages inferior "guile")))
+     (close-inferior inferior)
+     (every eq? lst1 lst2)))
actual-value: #t
result: PASS

test-name: inferior-package-inputs
location: /home/denyosef/guix/tests/inferior.scm:169
source:
+ (test-equal
+   "inferior-package-inputs"
+   (let ((->list
+           (match-lambda
+             ((label (? package? package) . rest)
+              `(,label
+                (package
+                  ,(package-name package)
+                  ,(package-version package)
+                  ,(package-location package))
+                ,@rest)))))
+     (list (map ->list (package-inputs guile-3.0-latest))
+           (map ->list
+                (package-native-inputs guile-3.0-latest))
+           (map ->list
+                (package-propagated-inputs guile-3.0-latest))))
+   (let* ((inferior
+            (open-inferior
+              %top-builddir
+              #:command
+              "scripts/guix"))
+          (guile (first (lookup-inferior-packages inferior "guile")))
+          (->list
+            (match-lambda
+              ((label (? inferior-package? package) . rest)
+               `(,label
+                 (package
+                   ,(inferior-package-name package)
+                   ,(inferior-package-version package)
+                   ,(inferior-package-location package))
+                 ,@rest))))
+          (result
+            (list (map ->list (inferior-package-inputs guile))
+                  (map ->list
+                       (inferior-package-native-inputs guile))
+                  (map ->list
+                       (inferior-package-propagated-inputs guile)))))
+     (close-inferior inferior)
+     result))
expected-value: ((("libffi" (package "libffi" "3.3" #<<location> file: "gnu/packages/libffi.scm" line: 44 column: 2>)) ("bash" (package "bash-minimal" "5.1.8" #<<location> file: "gnu/packages/bash.scm" line: 215 column: 2>))) (("pkgconfig" (package "pkg-config" "0.29.2" #<<location> file: "gnu/packages/pkg-config.scm" line: 36 column: 2>))) (("libunistring" (package "libunistring" "0.9.10" #<<location> file: "gnu/packages/libunistring.scm" line: 35 column: 2>)) ("bdw-gc" (package "libgc" "8.0.4" #<<location> file: "gnu/packages/bdw-gc.scm" line: 33 column: 2>))))
actual-value: ((("libffi" (package "libffi" "3.3" #<<location> file: "gnu/packages/libffi.scm" line: 44 column: 2>)) ("bash" (package "bash-minimal" "5.1.8" #<<location> file: "gnu/packages/bash.scm" line: 215 column: 2>))) (("pkgconfig" (package "pkg-config" "0.29.2" #<<location> file: "gnu/packages/pkg-config.scm" line: 36 column: 2>))) (("libunistring" (package "libunistring" "0.9.10" #<<location> file: "gnu/packages/libunistring.scm" line: 35 column: 2>)) ("bdw-gc" (package "libgc" "8.0.4" #<<location> file: "gnu/packages/bdw-gc.scm" line: 33 column: 2>))))
result: PASS

test-name: inferior-package-search-paths
location: /home/denyosef/guix/tests/inferior.scm:199
source:
+ (test-equal
+   "inferior-package-search-paths"
+   (package-native-search-paths guile-3.0)
+   (let* ((inferior
+            (open-inferior
+              %top-builddir
+              #:command
+              "scripts/guix"))
+          (guile (first (lookup-inferior-packages inferior "guile")))
+          (result
+            (inferior-package-native-search-paths guile)))
+     (close-inferior inferior)
+     result))
expected-value: (#<<search-path-specification> variable: "GUILE_LOAD_PATH" files: ("share/guile/site/3.0") separator: ":" file-type: directory file-pattern: #f> #<<search-path-specification> variable: "GUILE_LOAD_COMPILED_PATH" files: ("lib/guile/3.0/site-ccache" "share/guile/site/3.0") separator: ":" file-type: directory file-pattern: #f>)
actual-value: (#<<search-path-specification> variable: "GUILE_LOAD_PATH" files: ("share/guile/site/3.0") separator: ":" file-type: directory file-pattern: #f> #<<search-path-specification> variable: "GUILE_LOAD_COMPILED_PATH" files: ("lib/guile/3.0/site-ccache" "share/guile/site/3.0") separator: ":" file-type: directory file-pattern: #f>)
result: PASS

test-name: inferior-eval-with-store
location: /home/denyosef/guix/tests/inferior.scm:208
source:
+ (test-equal
+   "inferior-eval-with-store"
+   (add-text-to-store %store "foo" "Hello, world!")
+   (let* ((inferior
+            (open-inferior
+              %top-builddir
+              #:command
+              "scripts/guix")))
+     (inferior-eval-with-store
+       inferior
+       %store
+       '(lambda (store)
+          (add-text-to-store store "foo" "Hello, world!")))))
expected-value: "/home/denyosef/guix/test-tmp/store/z2my8kmzh49vm38554dahhl3zipcylgc-foo"
actual-value: "/home/denyosef/guix/test-tmp/store/z2my8kmzh49vm38554dahhl3zipcylgc-foo"
result: PASS

test-name: inferior-eval-with-store, &store-protocol-error
location: /home/denyosef/guix/tests/inferior.scm:217
source:
+ (test-assert
+   "inferior-eval-with-store, &store-protocol-error"
+   (let* ((inferior
+            (open-inferior
+              %top-builddir
+              #:command
+              "scripts/guix")))
+     (guard (c ((store-protocol-error? c)
+                (string-contains
+                  (store-protocol-error-message c)
+                  "invalid character")))
+            (inferior-eval-with-store
+              inferior
+              %store
+              '(lambda (store)
+                 (add-text-to-store store "we|rd/?!@" "uh uh")))
+            #f)))
actual-value: 0
result: PASS

test-name: inferior-eval-with-store, exception
location: /home/denyosef/guix/tests/inferior.scm:229
source:
+ (test-equal
+   "inferior-eval-with-store, exception"
+   '(the-answer = 42)
+   (let ((inferior
+           (open-inferior
+             %top-builddir
+             #:command
+             "scripts/guix")))
+     (guard (c ((inferior-exception? c)
+                (close-inferior inferior)
+                (inferior-exception-arguments c)))
+            (inferior-eval-with-store
+              inferior
+              %store
+              '(lambda (store) (throw 'the-answer '= 42))))))
expected-value: (the-answer = 42)
actual-value: (the-answer = 42)
result: PASS

test-name: inferior-eval-with-store, not a procedure
location: /home/denyosef/guix/tests/inferior.scm:240
source:
+ (test-equal
+   "inferior-eval-with-store, not a procedure"
+   'wrong-type-arg
+   (let ((inferior
+           (open-inferior
+             %top-builddir
+             #:command
+             "scripts/guix")))
+     (guard (c ((inferior-exception? c)
+                (close-inferior inferior)
+                (car (inferior-exception-arguments c))))
+            (inferior-eval-with-store
+              inferior
+              %store
+              '(+ 1 2)))))
expected-value: wrong-type-arg
actual-value: wrong-type-arg
result: PASS

test-name: inferior-package-derivation
location: /home/denyosef/guix/tests/inferior.scm:249
source:
+ (test-equal
+   "inferior-package-derivation"
+   (map derivation-file-name
+        (list (package-derivation
+                %store
+                %bootstrap-guile
+                "x86_64-linux")
+              (package-derivation
+                %store
+                %bootstrap-guile
+                "armhf-linux")))
+   (let* ((inferior
+            (open-inferior
+              %top-builddir
+              #:command
+              "scripts/guix"))
+          (packages (inferior-packages inferior))
+          (guile (find (lambda (package)
+                         (string=?
+                           (package-name %bootstrap-guile)
+                           (inferior-package-name package)))
+                       packages)))
+     (map derivation-file-name
+          (list (inferior-package-derivation
+                  %store
+                  guile
+                  "x86_64-linux")
+                (inferior-package-derivation
+                  %store
+                  guile
+                  "armhf-linux")))))
expected-value: ("/home/denyosef/guix/test-tmp/store/dmz2f8w9hv7h0nrrxskxz3rqs28v30qy-guile-bootstrap-2.0.drv" "/home/denyosef/guix/test-tmp/store/y8apysj7ivbv7lw2cjw6b39yv6gz6p19-guile-bootstrap-2.0.drv")
actual-value: ("/home/denyosef/guix/test-tmp/store/dmz2f8w9hv7h0nrrxskxz3rqs28v30qy-guile-bootstrap-2.0.drv" "/home/denyosef/guix/test-tmp/store/y8apysj7ivbv7lw2cjw6b39yv6gz6p19-guile-bootstrap-2.0.drv")
result: PASS

test-name: inferior-package-replacement
location: /home/denyosef/guix/tests/inferior.scm:267
source:
+ (test-equal
+   "inferior-package-replacement"
+   (package-derivation
+     %store
+     (package-replacement sqlite)
+     "x86_64-linux")
+   (let* ((inferior
+            (open-inferior
+              %top-builddir
+              #:command
+              "scripts/guix"))
+          (packages (inferior-packages inferior)))
+     (match (lookup-inferior-packages
+              inferior
+              (package-name sqlite)
+              (package-version sqlite))
+            ((inferior-sqlite rest ...)
+             (inferior-package-derivation
+               %store
+               (inferior-package-replacement inferior-sqlite)
+               "x86_64-linux")))))
result: SKIP

test-name: inferior-package->manifest-entry
location: /home/denyosef/guix/tests/inferior.scm:283
source:
+ (test-equal
+   "inferior-package->manifest-entry"
+   (manifest-entry->list
+     (package->manifest-entry
+       (first (find-best-packages-by-name "guile" #f))))
+   (let* ((inferior
+            (open-inferior
+              %top-builddir
+              #:command
+              "scripts/guix"))
+          (guile (first (lookup-inferior-packages inferior "guile")))
+          (entry (inferior-package->manifest-entry guile)))
+     (close-inferior inferior)
+     (manifest-entry->list entry)))
expected-value: ("guile" "3.0.8" "out" (#<<search-path-specification> variable: "GUILE_LOAD_PATH" files: ("share/guile/site/3.0") separator: ":" file-type: directory file-pattern: #f> #<<search-path-specification> variable: "GUILE_LOAD_COMPILED_PATH" files: ("lib/guile/3.0/site-ccache" "share/guile/site/3.0") separator: ":" file-type: directory file-pattern: #f>) (("libunistring" "0.9.10" "out" () ()) ("libgc" "8.0.4" "out" () ())))
actual-value: ("guile" "3.0.8" "out" (#<<search-path-specification> variable: "GUILE_LOAD_PATH" files: ("share/guile/site/3.0") separator: ":" file-type: directory file-pattern: #f> #<<search-path-specification> variable: "GUILE_LOAD_COMPILED_PATH" files: ("lib/guile/3.0/site-ccache" "share/guile/site/3.0") separator: ":" file-type: directory file-pattern: #f>) (("libunistring" "0.9.10" "out" () ()) ("libgc" "8.0.4" "out" () ())))
result: PASS

test-name: packages->manifest
location: /home/denyosef/guix/tests/inferior.scm:293
source:
+ (test-equal
+   "packages->manifest"
+   (map manifest-entry->list
+        (manifest-entries
+          (packages->manifest
+            (find-best-packages-by-name "guile" #f))))
+   (let* ((inferior
+            (open-inferior
+              %top-builddir
+              #:command
+              "scripts/guix"))
+          (guile (first (lookup-inferior-packages inferior "guile")))
+          (manifest (packages->manifest (list guile))))
+     (close-inferior inferior)
+     (map manifest-entry->list
+          (manifest-entries manifest))))
expected-value: (("guile" "3.0.8" "out" (#<<search-path-specification> variable: "GUILE_LOAD_PATH" files: ("share/guile/site/3.0") separator: ":" file-type: directory file-pattern: #f> #<<search-path-specification> variable: "GUILE_LOAD_COMPILED_PATH" files: ("lib/guile/3.0/site-ccache" "share/guile/site/3.0") separator: ":" file-type: directory file-pattern: #f>) (("libunistring" "0.9.10" "out" () ()) ("libgc" "8.0.4" "out" () ()))))
actual-value: (("guile" "3.0.8" "out" (#<<search-path-specification> variable: "GUILE_LOAD_PATH" files: ("share/guile/site/3.0") separator: ":" file-type: directory file-pattern: #f> #<<search-path-specification> variable: "GUILE_LOAD_COMPILED_PATH" files: ("lib/guile/3.0/site-ccache" "share/guile/site/3.0") separator: ":" file-type: directory file-pattern: #f>) (("libunistring" "0.9.10" "out" () ()) ("libgc" "8.0.4" "out" () ()))))
result: PASS


SKIP: tests/pypi
================

test-name: guix-package->pypi-name, old URL style
location: /home/denyosef/guix/tests/pypi.scm:137
source:
+ (test-equal
+   "guix-package->pypi-name, old URL style"
+   "psutil"
+   (guix-package->pypi-name
+     (dummy-package
+       "foo"
+       (source
+         (dummy-origin
+           (uri "https://pypi.org/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: /home/denyosef/guix/tests/pypi.scm:145
source:
+ (test-equal
+   "guix-package->pypi-name, new URL style"
+   "certbot"
+   (guix-package->pypi-name
+     (dummy-package
+       "foo"
+       (source
+         (dummy-origin
+           (uri "https://pypi.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: /home/denyosef/guix/tests/pypi.scm:153
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: guix-package->pypi-name, honor 'upstream-name'
location: /home/denyosef/guix/tests/pypi.scm:162
source:
+ (test-equal
+   "guix-package->pypi-name, honor 'upstream-name'"
+   "bar-3"
+   (guix-package->pypi-name
+     (dummy-package
+       "foo"
+       (properties '((upstream-name . "bar-3"))))))
expected-value: "bar-3"
actual-value: "bar-3"
result: PASS

test-name: specification->requirement-name
location: /home/denyosef/guix/tests/pypi.scm:169
source:
+ (test-equal
+   "specification->requirement-name"
+   '("Fizzy"
+     "PickyThing"
+     "SomethingWithMarker"
+     "requests"
+     "pip")
+   (map specification->requirement-name
+        test-specifications))
expected-value: ("Fizzy" "PickyThing" "SomethingWithMarker" "requests" "pip")
actual-value: ("Fizzy" "PickyThing" "SomethingWithMarker" "requests" "pip")
result: PASS

test-name: parse-requires.txt
location: /home/denyosef/guix/tests/pypi.scm:173
source:
+ (test-equal
+   "parse-requires.txt"
+   (list '("foo" "bar") '("pytest"))
+   (mock ((ice-9 ports)
+          call-with-input-file
+          call-with-input-string)
+         (parse-requires.txt test-requires.txt)))
expected-value: (("foo" "bar") ("pytest"))
actual-value: (("foo" "bar") ("pytest"))
result: PASS

test-name: parse-requires.txt - Beaker
location: /home/denyosef/guix/tests/pypi.scm:179
source:
+ (test-equal
+   "parse-requires.txt - Beaker"
+   (list '() '("Mock" "coverage"))
+   (mock ((ice-9 ports)
+          call-with-input-file
+          call-with-input-string)
+         (parse-requires.txt test-requires.txt-beaker)))
expected-value: (() ("Mock" "coverage"))
actual-value: (() ("Mock" "coverage"))
result: PASS

test-name: parse-wheel-metadata, with extras
location: /home/denyosef/guix/tests/pypi.scm:185
source:
+ (test-equal
+   "parse-wheel-metadata, with extras"
+   (list '("wrapt" "bar") '("tox" "bumpversion"))
+   (mock ((ice-9 ports)
+          call-with-input-file
+          call-with-input-string)
+         (parse-wheel-metadata test-metadata-with-extras)))
expected-value: (("wrapt" "bar") ("tox" "bumpversion"))
actual-value: (("wrapt" "bar") ("tox" "bumpversion"))
result: PASS

test-name: parse-wheel-metadata, with extras - Jedi
location: /home/denyosef/guix/tests/pypi.scm:191
source:
+ (test-equal
+   "parse-wheel-metadata, with extras - Jedi"
+   (list '("parso") '("pytest"))
+   (mock ((ice-9 ports)
+          call-with-input-file
+          call-with-input-string)
+         (parse-wheel-metadata
+           test-metadata-with-extras-jedi)))
expected-value: (("parso") ("pytest"))
actual-value: (("parso") ("pytest"))
result: PASS

test-name: find-project-url, with numpy
location: /home/denyosef/guix/tests/pypi.scm:197
source:
+ (test-equal
+   "find-project-url, with numpy"
+   "numpy"
+   (find-project-url
+     "numpy"
+     "https://files.pythonhosted.org/packages/0a/c8/a62767a6b374a0dfb02d2a0456e5f56a372cdd1689dbc6ffb6bf1ddedbc0/numpy-1.22.1.zip"))
expected-value: "numpy"
actual-value: "numpy"
result: PASS

test-name: find-project-url, uWSGI
location: /home/denyosef/guix/tests/pypi.scm:203
source:
+ (test-equal
+   "find-project-url, uWSGI"
+   "uwsgi"
+   (find-project-url
+     "uWSGI"
+     "https://files.pythonhosted.org/packages/24/fd/93851e4a076719199868d4c918cc93a52742e68370188c1c570a6e42a54f/uwsgi-2.0.20.tar.gz"))
expected-value: "uwsgi"
actual-value: "uwsgi"
result: PASS

test-name: find-project-url, flake8-array-spacing
location: /home/denyosef/guix/tests/pypi.scm:209
source:
+ (test-equal
+   "find-project-url, flake8-array-spacing"
+   "flake8_array_spacing"
+   (find-project-url
+     "flake8-array-spacing"
+     "https://files.pythonhosted.org/packages/a4/21/ff29b901128b681b7de7a2787b3aeb3e1f3cba4a8c0cffa9712cbff016bc/flake8_array_spacing-0.2.0.tar.gz"))
expected-value: "flake8_array_spacing"
actual-value: "flake8_array_spacing"
result: PASS

test-name: find-project-url, foo/goo
location: /home/denyosef/guix/tests/pypi.scm:215
source:
+ (test-equal
+   "find-project-url, foo/goo"
+   "foo"
+   (find-project-url
+     "foo"
+     "https://files.pythonhosted.org/packages/f0/f00/goo-0.0.0.tar.gz"))
expected-value: "foo"
actual-value: "foo"
result: PASS

test-name: pypi->guix-package, no wheel
location: /home/denyosef/guix/tests/pypi.scm:221
source:
+ (test-assert
+   "pypi->guix-package, no wheel"
+   (mock ((guix import utils)
+          url-fetch
+          (lambda (url file-name)
+            (match url
+                   ("https://example.com/foo-1.0.0.tar.gz"
+                    (begin
+                      (mkdir-p "foo-1.0.0/src/bizarre.egg-info")
+                      (with-output-to-file
+                        "foo-1.0.0/src/bizarre.egg-info/requires.txt"
+                        (lambda () (display test-requires.txt)))
+                      (parameterize
+                        ((current-output-port (%make-void-port "rw+")))
+                        (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.org/pypi/foo/json"
+                          (values
+                            (open-input-string test-json-1)
+                            (string-length test-json-1)))
+                         ("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
+                         ('list 'python-bar 'python-foo))
+                        ('native-inputs ('list 'python-pytest))
+                        ('home-page "http://example.com")
+                        ('synopsis "summary")
+                        ('description "summary")
+                        ('license 'license:lgpl2.0))
+                       (and (string=?
+                              (bytevector->nix-base32-string test-source-hash)
+                              hash)
+                            (equal?
+                              (pypi->guix-package "foo" #:version "1.0.0")
+                              (pypi->guix-package "foo"))
+                            (guard (c ((error? c) #t))
+                                   (pypi->guix-package
+                                     "foo"
+                                     #:version
+                                     "42"))))
+                      (x (pk 'fail x #f))))))
actual-value: #t
result: PASS

test-name: pypi->guix-package, wheels
location: /home/denyosef/guix/tests/pypi.scm:276
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-p "foo-1.0.0/foo.egg-info/")
+                      (with-output-to-file
+                        "foo-1.0.0/foo.egg-info/requires.txt"
+                        (lambda ()
+                          (display
+                            "wrong data to make sure we're testing wheels ")))
+                      (parameterize
+                        ((current-output-port (%make-void-port "rw+")))
+                        (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"
+                        (lambda () (display test-metadata)))
+                      (let ((zip-file (string-append file-name ".zip")))
+                        (system*
+                          "zip"
+                          "-q"
+                          zip-file
+                          "foo-1.0.0.dist-info/METADATA")
+                        (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.org/pypi/foo/json"
+                          (values
+                            (open-input-string test-json-1)
+                            (string-length test-json-1)))
+                         ("https://example.com/foo-1.0.0-py2.py3-none-any.whl"
+                          #f)
+                         (_ (error "Unexpected URL: " url)))))
+               (invalidate-memoization! pypi->guix-package)
+               (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
+                         ('list 'python-bar 'python-baz))
+                        ('native-inputs ('list 'python-pytest))
+                        ('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

test-name: pypi->guix-package, no usable requirement file.
location: /home/denyosef/guix/tests/pypi.scm:339
source:
+ (test-assert
+   "pypi->guix-package, no usable requirement file."
+   (mock ((guix import utils)
+          url-fetch
+          (lambda (url file-name)
+            (match url
+                   ("https://example.com/foo-1.0.0.tar.gz"
+                    (mkdir-p "foo-1.0.0/foo.egg-info/")
+                    (parameterize
+                      ((current-output-port (%make-void-port "rw+")))
+                      (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.org/pypi/foo/json"
+                          (values
+                            (open-input-string test-json-1)
+                            (string-length test-json-1)))
+                         ("https://example.com/foo-1.0.0-py2.py3-none-any.whl"
+                          #f)
+                         (_ (error "Unexpected URL: " url)))))
+               (invalidate-memoization! pypi->guix-package)
+               (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)
+                        ('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: PASS

test-name: pypi->guix-package, package name contains "-" followed by digits
location: /home/denyosef/guix/tests/pypi.scm:385
source:
+ (test-assert
+   "pypi->guix-package, package name contains \"-\" followed by digits"
+   (mock ((guix import utils)
+          url-fetch
+          (lambda (url file-name)
+            (match url
+                   ("https://example.com/foo-99-1.0.0.tar.gz"
+                    (begin
+                      (mkdir-p "foo-99-1.0.0/src/bizarre.egg-info")
+                      (with-output-to-file
+                        "foo-99-1.0.0/src/bizarre.egg-info/requires.txt"
+                        (lambda () (display test-requires.txt)))
+                      (parameterize
+                        ((current-output-port (%make-void-port "rw+")))
+                        (system* "tar" "czvf" file-name "foo-99-1.0.0/"))
+                      (delete-file-recursively "foo-99-1.0.0")
+                      (set! test-source-hash
+                        (call-with-input-file file-name port-sha256))))
+                   ("https://example.com/foo-99-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.org/pypi/foo-99/json"
+                          (values
+                            (open-input-string test-json-2)
+                            (string-length test-json-2)))
+                         ("https://example.com/foo-99-1.0.0-py2.py3-none-any.whl"
+                          #f)
+                         (_ (error "Unexpected URL: " url)))))
+               (match (pypi->guix-package "foo-99")
+                      (('package
+                        ('name "python-foo-99")
+                        ('version "1.0.0")
+                        ('source
+                         ('origin
+                          ('method 'url-fetch)
+                          ('uri ('pypi-uri "foo-99" 'version))
+                          ('sha256 ('base32 (? string? hash)))))
+                        ('properties
+                         ('quote (("upstream-name" . "foo-99"))))
+                        ('build-system 'python-build-system)
+                        ('propagated-inputs
+                         ('list 'python-bar 'python-foo))
+                        ('native-inputs ('list 'python-pytest))
+                        ('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: PASS

warning: project name foo does not appear verbatim in the PyPI URI
hint: The PyPI URI is:
`https://files.pythonhosted.org/packages/f0/f00/goo-0.0.0.tar.gz'.  You
should review the pypi-uri declaration in the generated package.  You may
need to replace "foo" with a substring of the PyPI URI that identifies the
package.

warning: Cannot guess requirements from source archive: no requires.txt file found.

RUN: tests/services/configuration
=================================

test-name: default value, no serialization
location: /home/denyosef/guix/tests/services/configuration.scm:39
source:
+ (test-equal
+   "default value, no serialization"
+   80
+   (port-configuration-port (port-configuration)))
expected-value: 80
actual-value: 80
result: PASS

test-name: default value, custom serializer
location: /home/denyosef/guix/tests/services/configuration.scm:46
source:
+ (test-equal
+   "default value, custom serializer"
+   80
+   (port-configuration-cs-port
+     (port-configuration-cs)))
expected-value: 80
actual-value: 80
result: PASS

test-name: no default value, provided
location: /home/denyosef/guix/tests/services/configuration.scm:54
source:
+ (test-equal
+   "no default value, provided"
+   55
+   (port-configuration-ndv-port
+     (port-configuration-ndv (port 55))))
expected-value: 55
actual-value: 55
result: PASS

test-name: no default value, not provided
location: /home/denyosef/guix/tests/services/configuration.scm:59
source:
+ (test-assert
+   "no default value, not provided"
+   (guard (c ((configuration-error? c) #t))
+          (port-configuration-ndv-port
+            (port-configuration-ndv))))
actual-value: #t
result: PASS

test-name: serialize-configuration
location: /home/denyosef/guix/tests/services/configuration.scm:70
source:
+ (test-assert
+   "serialize-configuration"
+   (gexp? (let ((config (serializable-configuration)))
+            (serialize-configuration
+              config
+              serializable-configuration-fields))))
actual-value: #t
result: PASS

test-name: serialize-configuration with no-serialization
location: /home/denyosef/guix/tests/services/configuration.scm:79
source:
+ (test-assert
+   "serialize-configuration with no-serialization"
+   (not (false-if-exception
+          (let ((config (serializable-configuration)))
+            (serialize-configuration
+              config
+              serializable-configuration-fields)))))
actual-value: #t
result: PASS

test-name: serialize-configuration with prefix
location: /home/denyosef/guix/tests/services/configuration.scm:92
source:
+ (test-assert
+   "serialize-configuration with prefix"
+   (gexp? (let ((config (configuration-with-prefix)))
+            (serialize-configuration
+              config
+              configuration-with-prefix-fields))))
actual-value: #t
result: PASS

test-name: maybe value serialization
location: /home/denyosef/guix/tests/services/configuration.scm:109
source:
+ (test-equal
+   "maybe value serialization"
+   "port=80"
+   (serialize-maybe-number "port" 80))
expected-value: "port=80"
actual-value: "port=80"
result: PASS

test-name: maybe value without serialization no procedure bound
location: /home/denyosef/guix/tests/services/configuration.scm:119
source:
+ (test-assert
+   "maybe value without serialization no procedure bound"
+   (not (defined? 'serialize-maybe-string)))
actual-value: #t
result: PASS


SKIP: tests/upstream
====================

test-name: coalesce-sources same version
location: /home/denyosef/guix/tests/upstream.scm:38
source:
+ (test-equal
+   "coalesce-sources same version"
+   (list (upstream-source
+           (package "foo")
+           (version "1")
+           (urls '("ftp://example.org/foo-1.tar.xz"
+                   "ftp://example.org/foo-1.tar.gz"))
+           (signature-urls
+             '("ftp://example.org/foo-1.tar.xz.sig"
+               "ftp://example.org/foo-1.tar.gz.sig"))))
+   (coalesce-sources
+     (list (upstream-source
+             (package "foo")
+             (version "1")
+             (urls '("ftp://example.org/foo-1.tar.gz"))
+             (signature-urls
+               '("ftp://example.org/foo-1.tar.gz.sig")))
+           (upstream-source
+             (package "foo")
+             (version "1")
+             (urls '("ftp://example.org/foo-1.tar.xz"))
+             (signature-urls
+               '("ftp://example.org/foo-1.tar.xz.sig"))))))
result: SKIP

test-name: changed-inputs returns no changes
location: /home/denyosef/guix/tests/upstream.scm:105
source:
+ (test-equal
+   "changed-inputs returns no changes"
+   '()
+   (changed-inputs test-package test-package-sexp))
expected-value: ()
actual-value: ()
result: PASS

test-name: changed-inputs returns changes to labelled input list
location: /home/denyosef/guix/tests/upstream.scm:109
source:
+ (test-assert
+   "changed-inputs returns changes to labelled input list"
+   (let ((changes
+           (changed-inputs
+             (package
+               (inherit test-package)
+               (inputs `(("hello" ,hello) ("sed" ,sed))))
+             test-package-sexp)))
+     (match changes
+            (((? upstream-input-change? item))
+             (and (equal?
+                    (upstream-input-change-type item)
+                    'regular)
+                  (equal?
+                    (upstream-input-change-action item)
+                    'remove)
+                  (string=?
+                    (upstream-input-change-name item)
+                    "sed")))
+            (else (pk else #f)))))
actual-value: #t
result: PASS

test-name: changed-inputs returns changes to all labelled input lists
location: /home/denyosef/guix/tests/upstream.scm:127
source:
+ (test-assert
+   "changed-inputs returns changes to all labelled input lists"
+   (let ((changes
+           (changed-inputs
+             (package
+               (inherit test-package)
+               (inputs '())
+               (native-inputs '())
+               (propagated-inputs '()))
+             test-package-sexp)))
+     (match changes
+            (((? upstream-input-change? items) ...)
+             (and (equal?
+                    (map upstream-input-change-type items)
+                    '(regular native native propagated))
+                  (equal?
+                    (map upstream-input-change-action items)
+                    '(add add add add))
+                  (equal?
+                    (map upstream-input-change-name items)
+                    '("hello" "sed" "tar" "grep"))))
+            (else (pk else #f)))))
actual-value: #t
result: PASS

test-name: changed-inputs returns changes to plain input list
location: /home/denyosef/guix/tests/upstream.scm:178
source:
+ (test-assert
+   "changed-inputs returns changes to plain input list"
+   (let ((changes
+           (changed-inputs
+             (package
+               (inherit test-new-package)
+               (inputs (list hello sed)))
+             test-new-package-sexp)))
+     (match changes
+            (((? upstream-input-change? item))
+             (and (equal?
+                    (upstream-input-change-type item)
+                    'regular)
+                  (equal?
+                    (upstream-input-change-action item)
+                    'remove)
+                  (string=?
+                    (upstream-input-change-name item)
+                    "sed")))
+            (else (pk else #f)))))
actual-value: #t
result: PASS

test-name: changed-inputs returns changes to all plain input lists
location: /home/denyosef/guix/tests/upstream.scm:195
source:
+ (test-assert
+   "changed-inputs returns changes to all plain input lists"
+   (let ((changes
+           (changed-inputs
+             (package
+               (inherit test-new-package)
+               (inputs '())
+               (native-inputs '())
+               (propagated-inputs '()))
+             test-new-package-sexp)))
+     (match changes
+            (((? upstream-input-change? items) ...)
+             (and (equal?
+                    (map upstream-input-change-type items)
+                    '(regular native native propagated))
+                  (equal?
+                    (map upstream-input-change-action items)
+                    '(add add add add))
+                  (equal?
+                    (map upstream-input-change-name items)
+                    '("hello" "sed" "tar" "grep"))))
+            (else (pk else #f)))))
actual-value: #t
result: PASS


RUN: tests/offload
==================

test-name: #f
location: /home/denyosef/guix/tests/offload.scm:55
source:
+ (test-assert
+   (machine-matches?
+     (deprecated-build-machine "i686-linux")
+     (build-requirements (system "i686-linux"))))
actual-value: #t
result: PASS

test-name: #f
location: /home/denyosef/guix/tests/offload.scm:60
source:
+ (test-assert
+   (machine-matches?
+     (new-build-machine '("i686-linux"))
+     (build-requirements (system "i686-linux"))))
actual-value: #t
result: PASS

test-name: #f
location: /home/denyosef/guix/tests/offload.scm:66
source:
+ (test-assert
+   (machine-matches?
+     (new-build-machine
+       '("armhf-linux"
+         "aarch64-linux"
+         "i686-linux"
+         "x86_64-linux"))
+     (build-requirements (system "armhf-linux"))))
actual-value: #t
result: PASS

/home/denyosef/guix/tests/offload.scm:41:2: warning: The 'system' field is deprecated, please use 'systems' instead.

FAIL: tests/guix-hash
=====================

+ guix hash --version
guix hash (GNU Guix) 1.3.0.17414-e777c
Copyright (C) 2022 the Guix authors
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
+ tmpdir=guix-hash-17836
+ trap 'rm -rf "$tmpdir"' EXIT
++ guix hash /dev/null
+ test 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73 = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
++ echo -n
++ guix hash -
+ test 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73 = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
++ guix hash -f nix-base32 /dev/null
+ test 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73 = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
++ guix hash -f hex /dev/null
+ test e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
++ guix hash -f base32 /dev/null
+ test 4oymiquy7qobjgx36tejs35zeqt24qpemsnzgtfeswmrw6csxbkq = 4oymiquy7qobjgx36tejs35zeqt24qpemsnzgtfeswmrw6csxbkq
++ guix hash -H sha512 -f hex /dev/null
+ test cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
++ guix hash -H sha1 -f base64 /dev/null
+ test 2jmj7l5rSw0yVb/vlWAYkK/YBwk= = 2jmj7l5rSw0yVb/vlWAYkK/YBwk=
++ guix hash /dev/null /home/denyosef/guix/README
++ guix hash /dev/null
++ guix hash /home/denyosef/guix/README
+ test '0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
14qjv26jsbh4v648g095ig6ahczk7c9bas23ci1i60ljy8m1gx8p' = '0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
14qjv26jsbh4v648g095ig6ahczk7c9bas23ci1i60ljy8m1gx8p'
+ guix hash
guix hash: error: no arguments specified
++ guix hash -S git -H sha1 -f hex /dev/null
;;; Failed to autoload git-hash-file in (disarchive git-hash):
;;; no code for module (disarchive git-hash)
Backtrace:
In ice-9/boot-9.scm:
  1752:10 12 (with-exception-handler _ _ #:unwind? _ # _)
In unknown file:
          11 (apply-smob/0 #<thunk 7f0f8c30c2e0>)
In ice-9/boot-9.scm:
    724:2 10 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
    619:8  9 (_ #(#(#<directory (guile-user) 7f0f8c311c80>)))
In guix/ui.scm:
   2247:7  8 (run-guix . _)
  2210:10  7 (run-guix-command _ . _)
In srfi/srfi-1.scm:
    634:9  6 (for-each #<procedure 7f0f898b1a00 at ice-9/boot-9.scm…> …)
In unknown file:
           5 (_ #<procedure 7f0f898b19e0 at ice-9/boot-9.scm:798:28…> …)
In guix/scripts/hash.scm:
    197:7  4 (formatted-hash _)
In ice-9/boot-9.scm:
  1747:15  3 (with-exception-handler #<procedure 7f0f8988b270 at ic…> …)
  1752:10  2 (with-exception-handler _ _ #:unwind? _ # _)
In guix/scripts/hash.scm:
     69:7  1 (git-hash "/dev/null" _ _)
In ice-9/boot-9.scm:
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
error: git-hash-file: unbound variable
+ test = e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
./tests/guix-hash.sh: line 44: test: =: unary operator expected
+ rm -rf guix-hash-17836
FAIL tests/guix-hash.sh (exit status: 2)


^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#54773: Bug
  2022-04-07 17:31 bug#54773: Bug Dennis Seidler via Bug reports for GNU Guix
@ 2022-04-08 12:10 ` zimoun
  0 siblings, 0 replies; 2+ messages in thread
From: zimoun @ 2022-04-08 12:10 UTC (permalink / raw)
  To: Dennis Seidler, 54773

Hi,

Thanks for the report.  What is the Guix revision?  And the Git commit
against which you are running the test suite?


On Thu, 07 Apr 2022 at 19:31, Dennis Seidler via Bug reports for GNU Guix <bug-guix@gnu.org> wrote:

> Syntax error: unexpected token : (ghc-options (-Wall)) (at line 11, column 2)
> Syntax error: unexpected end of input
>
> ;;; (fail #f #f)
> test-name: hackage->guix-package test mixed layout
> location: /home/denyosef/guix/tests/hackage.scm:284
> source:
> + (test-assert
> +   "hackage->guix-package test mixed layout"
> +   (eval-test-with-cabal
> +     test-cabal-mixed-layout
> +     match-ghc-foo))
> actual-value: #f
> result: XFAIL

This one is expected.  No bug here, IMHO.


[...]

> FAIL: tests/guix-hash
> =====================
>
> + guix hash --version
> guix hash (GNU Guix) 1.3.0.17414-e777c
> Copyright (C) 2022 the Guix authors
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> + tmpdir=guix-hash-17836
> + trap 'rm -rf "$tmpdir"' EXIT
> ++ guix hash /dev/null
> + test 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73 = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
> ++ echo -n
> ++ guix hash -
> + test 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73 = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
> ++ guix hash -f nix-base32 /dev/null
> + test 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73 = 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
> ++ guix hash -f hex /dev/null
> + test e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
> ++ guix hash -f base32 /dev/null
> + test 4oymiquy7qobjgx36tejs35zeqt24qpemsnzgtfeswmrw6csxbkq = 4oymiquy7qobjgx36tejs35zeqt24qpemsnzgtfeswmrw6csxbkq
> ++ guix hash -H sha512 -f hex /dev/null
> + test cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
> ++ guix hash -H sha1 -f base64 /dev/null
> + test 2jmj7l5rSw0yVb/vlWAYkK/YBwk= = 2jmj7l5rSw0yVb/vlWAYkK/YBwk=
> ++ guix hash /dev/null /home/denyosef/guix/README
> ++ guix hash /dev/null
> ++ guix hash /home/denyosef/guix/README
> + test '0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
> 14qjv26jsbh4v648g095ig6ahczk7c9bas23ci1i60ljy8m1gx8p' = '0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
> 14qjv26jsbh4v648g095ig6ahczk7c9bas23ci1i60ljy8m1gx8p'
> + guix hash
> guix hash: error: no arguments specified
> ++ guix hash -S git -H sha1 -f hex /dev/null
> ;;; Failed to autoload git-hash-file in (disarchive git-hash):
> ;;; no code for module (disarchive git-hash)
> Backtrace:

[...]

I cannot reproduce.  It is because you are missing the disarchive
dependency; as you can see, Guix requires it: 

--8<---------------cut here---------------start------------->8---
$ guix show guix | recsel -p dependencies
dependencies: autoconf@2.69 automake@1.16.3 bzip2@1.0.8 disarchive@0.4.0
+ gettext-minimal@0.21 glibc-utf8-locales@2.33 gnutls@3.7.2 graphviz@2.49.0
+ guile-avahi@0.4.0-1.6d43caf guile-gcrypt@0.3.0 guile-git@0.5.2
+ guile-json@4.5.2 guile-lib@0.2.7 guile-lzlib@0.0.2 guile-lzma@0.1.1
+ guile-sqlite3@0.1.2 guile-ssh@0.15.1 guile-zlib@0.1.0 guile-zstd@0.1.1
+ guile@3.0.8 gzip@1.10 help2man@1.48.5 libgcrypt@1.8.8 pkg-config@0.29.2
+ po4a@0.63 sqlite@3.36.0 texinfo@6.7 util-linux@2.37.2
--8<---------------cut here---------------end--------------->8---

Well, you generated the environment by manually install the
dependencies.  Instead, using “guix shell -D guix” does all the job for
you.

If you confirm the source of the bug, I propose to close.  WDYT?


Cheers,
simon




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-04-08 12:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-07 17:31 bug#54773: Bug Dennis Seidler via Bug reports for GNU Guix
2022-04-08 12:10 ` zimoun

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).