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

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).