Failing tests (tests/swh.scm tests/pypi.scm tests/gem.scm tests/crate.scm tests/cpan.scm)

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • P
Owner
unassigned
Submitted by
P
Severity
normal
P
(name . bug-guix@gnu.org)(address . bug-guix@gnu.org)
HvSSbl8N3weQEluwyX7a1keA_TcQvM-6RHsQluE_J8cQi3xA322IVLcLKh1zeh7u1ZWlGSwBo9X0D52X6vjVWqnXm0NOrtnc6cg335eutiQ=@protonmail.com
commit: 767a0a18d88479c713f1b9b034bd06eedfe71a80 (or rather the previous commit, there are some small unrelated changes in gnu/packages/idris.scm)

make check TESTS="tests/swh.scm tests/pypi.scm tests/gem.scm tests/crate.scm tests/cpan.scm" SCM_LOG_DRIVER_FLAGS="--brief=no"

=================================================
GNU Guix 1.0.1.1832-23243: ./test-suite.log
=================================================

# TOTAL: 21
# PASS: 12
# SKIP: 1
# XFAIL: 0
# FAIL: 8
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: tests/swh
===============

test-name: lookup-origin
location: /home/raingloom/Projects/Guix/guix-source/tests/swh.scm:49
source:
+ (test-equal
+ "lookup-origin"
+ (with-json-result
+ %origin
+ (let ((origin
+ (list (origin-id origin)
+ (origin-type origin)
+ (origin-url origin)))))
expected-value: (42 "git" "http://example.org/guix.git")
actual-value: (#f #f #f)
result: FAIL

test-name: lookup-origin, not found
location: /home/raingloom/Projects/Guix/guix-source/tests/swh.scm:57
source:
+ (test-equal
+ "lookup-origin, not found"
+ #f
+ (with-http-server
+ 404
+ "Nope."
+ (parameterize
+ ((%swh-base-url (%local-url)))
expected-value: #f
actual-value: #f
result: PASS

test-name: lookup-directory
location: /home/raingloom/Projects/Guix/guix-source/tests/swh.scm:63
source:
+ (test-equal
+ "lookup-directory"
+ '(("one" 123) ("two" 456))
+ (with-json-result
+ %directory-entries
+ (map (lambda (entry)
+ (list (directory-entry-name entry)
+ (directory-entry-length entry)))
+ (lookup-directory "123"))))
expected-value: (("one" 123) ("two" 456))
actual-value: #f
actual-error:
+ (wrong-type-arg
+ #f
+ "Wrong type (expecting ~A): ~S"
+ ("array"
+ (#<hash-table f97f40 4/31>
+ #<hash-table f97b00 4/31>))
+ ((#<hash-table f97f40 4/31>
+ #<hash-table f97b00 4/31>)))
result: FAIL


FAIL: tests/pypi
================

test-name: guix-package->pypi-name, old URL style
location: /home/raingloom/Projects/Guix/guix-source/tests/pypi.scm:122
source:
+ (test-equal
+ "guix-package->pypi-name, old URL style"
+ "psutil"
+ (guix-package->pypi-name
+ (dummy-package
+ "foo"
+ (source
+ (dummy-origin
expected-value: "psutil"
actual-value: "psutil"
result: PASS

test-name: guix-package->pypi-name, new URL style
location: /home/raingloom/Projects/Guix/guix-source/tests/pypi.scm:130
source:
+ (test-equal
+ "guix-package->pypi-name, new URL style"
+ "certbot"
+ (guix-package->pypi-name
+ (dummy-package
+ "foo"
+ (source
+ (dummy-origin
expected-value: "certbot"
actual-value: "certbot"
result: PASS

test-name: guix-package->pypi-name, several URLs
location: /home/raingloom/Projects/Guix/guix-source/tests/pypi.scm:138
source:
+ (test-equal
+ "guix-package->pypi-name, several URLs"
+ "cram"
+ (guix-package->pypi-name
+ (dummy-package
+ "foo"
+ (source
+ (dummy-origin
+ (pypi-uri "cram" "0.7"))))))))
expected-value: "cram"
actual-value: "cram"
result: PASS

test-name: specification->requirement-name
location: /home/raingloom/Projects/Guix/guix-source/tests/pypi.scm:147
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/raingloom/Projects/Guix/guix-source/tests/pypi.scm:151
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/raingloom/Projects/Guix/guix-source/tests/pypi.scm:157
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/raingloom/Projects/Guix/guix-source/tests/pypi.scm:163
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/raingloom/Projects/Guix/guix-source/tests/pypi.scm:169
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: pypi->guix-package, no wheel
location: /home/raingloom/Projects/Guix/guix-source/tests/pypi.scm:175
source:
+ (test-assert
+ "pypi->guix-package, no wheel"
+ (mock ((guix import utils)
+ url-fetch
+ (lambda (url file-name)
+ (match url
+ (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))))
+ #f)
+ (_ (error "Unexpected URL: " url)))))
+ (mock ((guix http-client)
+ http-fetch
+ (lambda (url . rest)
+ (match url
+ (values
+ (open-input-string test-json)
+ (string-length test-json)))
+ #f)
+ (_ (error "Unexpected URL: " url)))))
+ (match (pypi->guix-package "foo")
+ (('package
+ ('name "python-foo")
+ ('version "1.0.0")
+ ('source
+ ('origin
+ ('method 'url-fetch)
+ ('uri ('pypi-uri "foo" 'version))
+ ('sha256 ('base32 (? string? hash)))))
+ ('build-system 'python-build-system)
+ ('propagated-inputs
+ ('quasiquote
+ (("python-bar" ('unquote 'python-bar))
+ ("python-foo" ('unquote 'python-foo)))))
+ ('native-inputs
+ ('quasiquote
+ (("python-pytest" ('unquote '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: #f
actual-error:
+ (wrong-type-arg
+ #f
+ "Wrong type (expecting ~A): ~S"
+ ("array" #f)
+ (#f))
result: FAIL

test-name: pypi->guix-package, wheels
location: /home/raingloom/Projects/Guix/guix-source/tests/pypi.scm:231
source:
+ (test-assert
+ "pypi->guix-package, wheels"
+ (mock ((guix import utils)
+ url-fetch
+ (lambda (url file-name)
+ (match url
+ (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))))
+ (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
+ (values
+ (open-input-string test-json)
+ (string-length test-json)))
+ #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
+ ('quasiquote
+ (("python-bar" ('unquote 'python-bar))
+ ("python-baz" ('unquote 'python-baz)))))
+ ('native-inputs
+ ('quasiquote
+ (("python-pytest" ('unquote '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/raingloom/Projects/Guix/guix-source/tests/pypi.scm:299
source:
+ (test-assert
+ "pypi->guix-package, no usable requirement file."
+ (mock ((guix import utils)
+ url-fetch
+ (lambda (url file-name)
+ (match url
+ (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)))
+ #f)
+ (_ (error "Unexpected URL: " url)))))
+ (mock ((guix http-client)
+ http-fetch
+ (lambda (url . rest)
+ (match url
+ (values
+ (open-input-string test-json)
+ (string-length test-json)))
+ #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: #f
actual-error:
+ (wrong-type-arg
+ #f
+ "Wrong type (expecting ~A): ~S"
+ ("array" #f)
+ (#f))
result: FAIL

random seed for tests: 1564442102

FAIL: tests/gem
===============

test-name: gem->guix-package
location: /home/raingloom/Projects/Guix/guix-source/tests/gem.scm:77
source:
+ (test-assert
+ "gem->guix-package"
+ (mock ((guix http-client)
+ http-fetch
+ (lambda (url . rest)
+ (match url
+ (values
+ (open-input-string test-foo-json)
+ (string-length test-foo-json)))
+ (_ (error "Unexpected URL: " url)))))
+ (match (gem->guix-package "foo")
+ (('package
+ ('name "ruby-foo")
+ ('version "1.0.0")
+ ('source
+ ('origin
+ ('method 'url-fetch)
+ ('uri ('rubygems-uri "foo" 'version))
+ ('sha256
+ ('base32
+ "1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"))))
+ ('build-system 'ruby-build-system)
+ ('propagated-inputs
+ ('quasiquote
+ (("bundler" ('unquote 'bundler))
+ ("ruby-bar" ('unquote 'ruby-bar)))))
+ ('synopsis "A cool gem")
+ ('description "This package provides a cool gem")
+ ('home-page "https://example.com")
+ ('license ('list 'license:expat 'license:asl2.0)))
+ #t)
+ (x (pk 'fail x #f)))))
actual-value: #f
actual-error:
+ (wrong-type-arg
+ "string-prefix?"
+ "Wrong type argument in position ~A (expecting ~A): ~S"
+ (2 "string" #f)
+ (#f))
result: FAIL

test-name: gem-recursive-import
location: /home/raingloom/Projects/Guix/guix-source/tests/gem.scm:109
source:
+ (test-assert
+ "gem-recursive-import"
+ (mock ((guix http-client)
+ http-fetch
+ (lambda (url . rest)
+ (match url
+ (values
+ (open-input-string test-foo-json)
+ (string-length test-foo-json)))
+ (values
+ (open-input-string test-bar-json)
+ (string-length test-bar-json)))
+ (values
+ (open-input-string test-bundler-json)
+ (string-length test-bundler-json)))
+ (_ (error "Unexpected URL: " url)))))
+ (match (stream->list (gem-recursive-import "foo"))
+ ((('package
+ ('name "ruby-foo")
+ ('version "1.0.0")
+ ('source
+ ('origin
+ ('method 'url-fetch)
+ ('uri ('rubygems-uri "foo" 'version))
+ ('sha256
+ ('base32
+ "1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"))))
+ ('build-system 'ruby-build-system)
+ ('propagated-inputs
+ ('quasiquote
+ (("bundler" ('unquote 'bundler))
+ ("ruby-bar" ('unquote 'ruby-bar)))))
+ ('synopsis "A cool gem")
+ ('description "This package provides a cool gem")
+ ('home-page "https://example.com")
+ ('license ('list 'license:expat 'license:asl2.0)))
+ ('package
+ ('name "ruby-bundler")
+ ('version "1.14.2")
+ ('source
+ ('origin
+ ('method 'url-fetch)
+ ('uri ('rubygems-uri "bundler" 'version))
+ ('sha256
+ ('base32
+ "1446xiz7zg0bz7kgx9jv84y0s4hpsg61dj5l3qb0i00avc1kxd9v"))))
+ ('build-system 'ruby-build-system)
+ ('synopsis "Ruby gem bundler")
+ ('description "Ruby gem bundler")
+ ('home-page "https://bundler.io/")
+ ('license 'license:expat))
+ ('package
+ ('name "ruby-bar")
+ ('version "1.0.0")
+ ('source
+ ('origin
+ ('method 'url-fetch)
+ ('uri ('rubygems-uri "bar" 'version))
+ ('sha256
+ ('base32
+ "1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"))))
+ ('build-system 'r
This message was truncated. Download the full message here.
L
L
Ludovic Courtès wrote on 9 Aug 2019 11:20
(name . P)(address . pronaip@protonmail.com)(address . 36840@debbugs.gnu.org)
87ftmabspl.fsf@gnu.org
Hello,

P <pronaip@protonmail.com> skribis:

Toggle quote (16 lines)
> commit: 767a0a18d88479c713f1b9b034bd06eedfe71a80 (or rather the previous commit, there are some small unrelated changes in gnu/packages/idris.scm)
>
> make check TESTS="tests/swh.scm tests/pypi.scm tests/gem.scm tests/crate.scm tests/cpan.scm" SCM_LOG_DRIVER_FLAGS="--brief=no"
>
> =================================================
> GNU Guix 1.0.1.1832-23243: ./test-suite.log
> =================================================
>
> # TOTAL: 21
> # PASS: 12
> # SKIP: 1
> # XFAIL: 0
> # FAIL: 8
> # XPASS: 0
> # ERROR: 0

The likely reason is that you’re using Guile-JSON 1.x instead of 3.x,
which is now required.

If you’re using ‘guix environment’, you may need to run:

guix environment guix --ad-hoc guile-json@3

HTH!

Ludo’.
L
L
Ludovic Courtès wrote on 23 Aug 2019 14:48
control message for bug #36840
(address . control@debbugs.gnu.org)
87h8686oan.fsf@gnu.org
tags 36840 notabug
close 36840
quit
?