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
?
Your comment

This issue is archived.

To comment on this conversation send an email to 36840@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 36840
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch