"pypi->guix-package, no wheel" test fails

  • Open
  • quality assurance status badge
Details
3 participants
  • Efraim Flashner
  • Ludovic Courtès
  • Maxime Devos
Owner
unassigned
Submitted by
Maxime Devos
Severity
normal
M
M
Maxime Devos wrote on 31 Mar 2022 22:26
(address . bug-guix@gnu.org)
cc350550b1f8f1a984657de8e4350595b67e0250.camel@telenet.be
I noticed "./pre-inst-env guix build guix" fails on my computer due to
"pypi->guix-package, no wheel" failing. Here is an excerpt from the log:

Toggle quote (76 lines)
> test-name: pypi->guix-package, no wheel
> location: /tmp/guix-build-guix-1.3.0-24.2fb4304.drv-
> 0/source/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: #f
> result: FAIL

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYkYOXhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7gCEAPwKNk6K/TzH6KzWXlDW0x9Mr+RU
hBPKCxf9bNlTPeuaNAD/Z74IrbDXU0J1IAIsmmWfa649bBZInFwb21gqk9WUbwg=
=/A5W
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 13 Apr 2022 08:48
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54658@debbugs.gnu.org)
87a6cpbhs7.fsf@gnu.org
Hi,

Maxime Devos <maximedevos@telenet.be> skribis:

Toggle quote (3 lines)
> I noticed "./pre-inst-env guix build guix" fails on my computer due to
> "pypi->guix-package, no wheel" failing. Here is an excerpt from the log:

Which commit are you building for? For x86_64-linux?

Current ‘guix’ package seems to be fine:

Toggle snippet (36 lines)
$ guix describe
Generation 210 Apr 11 2022 09:34:10 (current)
guix 7da907f
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 7da907f90e74a4edf96d76ee457ff958265ef8d4
$ guix weather guix
computing 1 package derivations for x86_64-linux...
looking for 1 store items on https://ci.guix.gnu.org...
https://ci.guix.gnu.org
100.0% substitutes available (1 out of 1)
at least 158.4 MiB of nars (compressed)
303.7 MiB on disk (uncompressed)

971 queued builds
powerpc64le-linux: 504 (51.9%)
i686-linux: 140 (14.4%)
x86_64-linux: 327 (33.7%)
build rate: 85.17 builds per hour
armhf-linux: 22.58 builds per hour
i686-linux: 21.50 builds per hour
powerpc64le-linux: 8.06 builds per hour
aarch64-linux: 23.71 builds per hour
x86_64-linux: 10.05 builds per hour
looking for 1 store items on https://bordeaux.guix.gnu.org...
https://bordeaux.guix.gnu.org
100.0% substitutes available (1 out of 1)
41.8 MiB of nars (compressed)
303.7 MiB on disk (uncompressed)
2.105 seconds per request (2.1 seconds in total)
0.5 requests per second
(continuous integration information unavailable)
$ guix build guix --no-grafts -d
/gnu/store/vz0lxjxh0fykjk2rsgjycx59svclpj3v-guix-1.3.0-24.2fb4304.drv

Ludo’.
M
M
Maxime Devos wrote on 13 Apr 2022 09:52
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 54658@debbugs.gnu.org)
a7a66c94dd3888497c47e3b7318e1a6736b019b9.camel@telenet.be
Ludovic Courtès schreef op wo 13-04-2022 om 08:48 [+0200]:
Toggle quote (11 lines)
> Hi,
>
> Maxime Devos <maximedevos@telenet.be> skribis:
>
> > I noticed "./pre-inst-env guix build guix" fails on my computer due to
> > "pypi->guix-package, no wheel" failing.  Here is an excerpt from the log:
>
> Which commit are you building for?  For x86_64-linux?
>
> Current ‘guix’ package seems to be fine:

I can reproduce it in a Guix checkout for
855097683230b756ba28636bed03ce904b6f3589 with "make check
TESTS=tests/pypi.scm". (x86_64-linux)

It appears to be non-deterministic though -- the first "make check
TESTS=tests/pypi.scm" failed, but the later ones succeeded.

I'll try adding some pk debugging and running it in a loop.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYlaBNBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7qguAQCo1NUqWWifQTqwtDhmCK6wLkR4
Znsh5uIIyGw11GeLsgEA7n4hn+ktC9r3XHgtaCky3RjjzdIp+HQjym5iMMdRgQk=
=Ca8u
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 13 Apr 2022 10:51
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 54658@debbugs.gnu.org)
a3e3f337f4204f02176e6c7733562647dc48bb98.camel@telenet.be
Maxime Devos schreef op wo 13-04-2022 om 09:52 [+0200]:
Toggle quote (23 lines)
> Ludovic Courtès schreef op wo 13-04-2022 om 08:48 [+0200]:
> > Hi,
> >
> > Maxime Devos <maximedevos@telenet.be> skribis:
> >
> > > I noticed "./pre-inst-env guix build guix" fails on my computer
> due to
> > > "pypi->guix-package, no wheel" failing.  Here is an excerpt from
> the log:
> >
> > Which commit are you building for?  For x86_64-linux?
> >
> > Current ‘guix’ package seems to be fine:
>
> I can reproduce it in a Guix checkout for
> 855097683230b756ba28636bed03ce904b6f3589 with "make check
> TESTS=tests/pypi.scm". (x86_64-linux)
>
> It appears to be non-deterministic though --  the first "make check
> TESTS=tests/pypi.scm" failed, but the later ones succeeded.
>
> I'll try adding some pk debugging and running it in a loop.

I added some pk:

;;; (found (package (name "python-foo") (version "1.0.0") (source (origin (method url-fetch) (uri (pypi-uri "foo" version)) (sha256 (base32 "03rsmi1ricql316vak5gs89prv8494k1j7cgcgj7a763bcd6n4fa")))) (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)))

;;; (foo@1.0.0 (package (name "python-foo") (version "1.0.0") (source (origin (method url-fetch) (uri (pypi-uri "foo" version)) (sha256 (base32 "0z67xsvpivl9509m5l7n369nakszvnvm7ird09qgs6vn5pwqcl35")))) (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)))

;;; (foo@?? (package (name "python-foo") (version "1.0.0") (source (origin (method url-fetch) (uri (pypi-uri "foo" version)) (sha256 (base32 "03rsmi1ricql316vak5gs89prv8494k1j7cgcgj7a763bcd6n4fa")))) (build-system python-build-system) (

The problem is that the hash of 'found' and 'found@1.0.0' doesn't match :

03rsmi1ricql316vak5gs89prv8494k1j7cgcgj7a763bcd6n4fa
0z67xsvpivl9509m5l7n369nakszvnvm7ird09qgs6vn5pwqcl35

TBI ...
Toggle diff (27 lines)
diff --git a/tests/pypi.scm b/tests/pypi.scm
index 88bb0a3116..359dd58bb1 100644
--- a/tests/pypi.scm
+++ b/tests/pypi.scm
@@ -245,7 +245,7 @@ Requires-Dist: pytest (>=3.1.0); extra == 'testing'
(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")
+ (match (pk 'found (pypi->guix-package "foo"))
(('package
('name "python-foo")
('version "1.0.0")
@@ -265,10 +265,10 @@ Requires-Dist: pytest (>=3.1.0); extra == 'testing'
(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"))))
+ (equal? (pk 'foo@1.0.0 (pypi->guix-package "foo" #:version "1.0.0"))
+ (pk 'foo@?? (pypi->guix-package "foo")))
+ (guard (c ((error? c) (pk 'c c #t)))
+ (pk 'n (pypi->guix-package "foo" #:version "42")))))
(x
(pk 'fail x #f))))))
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYlaPCBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7nXPAQDo/ZPegkxWVZkww8pnDhlYSIlR
K+997JzjJz7v3M1JlwEAuncbFTNcM06rWPylj/lOLyuDYqa/gdkLYVr7RabwyQI=
=opCw
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 20 Apr 2022 22:15
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54658@debbugs.gnu.org)
871qxro6iy.fsf@gnu.org
Hi,

Maxime Devos <maximedevos@telenet.be> skribis:

Toggle quote (7 lines)
> The problem is that the hash of 'found' and 'found@1.0.0' doesn't match :
>
> 03rsmi1ricql316vak5gs89prv8494k1j7cgcgj7a763bcd6n4fa
> 0z67xsvpivl9509m5l7n369nakszvnvm7ird09qgs6vn5pwqcl35
>
> TBI ...

Could it be that the test is talking to some other server?

Ludo’.
M
M
Maxime Devos wrote on 21 Apr 2022 18:21
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 54658@debbugs.gnu.org)
89e175ead5ec8b073836e8d8d4e0316c05f49e40.camel@telenet.be
Ludovic Courtès schreef op wo 20-04-2022 om 22:15 [+0200]:
Toggle quote (13 lines)
> Hi,
>
> Maxime Devos <maximedevos@telenet.be> skribis:
>
> > The problem is that the hash of 'found' and 'found@1.0.0' doesn't match :
> >
> > 03rsmi1ricql316vak5gs89prv8494k1j7cgcgj7a763bcd6n4fa
> > 0z67xsvpivl9509m5l7n369nakszvnvm7ird09qgs6vn5pwqcl35
> >
> > TBI ...
>
> Could it be that the test is talking to some other server?

It fails and succeeds both with networking enabled and disabled, and
nothing (Guix-related) appears in Wireshark.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYmGEeBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7i4AAQCFB6i3tNs8p3XtGahY4HgvWiLQ
+CzbUlQ+ukangLmt4QD+P9dekODZKtoO7qfjHjMfb130bd3rbxVe+pCXOCV/3Aw=
=tnSj
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 30 May 2022 10:29
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54658@debbugs.gnu.org)
YpSATCyy95LkRHdV@3900XT
On Thu, Mar 31, 2022 at 10:26:06PM +0200, Maxime Devos wrote:
Toggle quote (3 lines)
> I noticed "./pre-inst-env guix build guix" fails on my computer due to
> "pypi->guix-package, no wheel" failing. Here is an excerpt from the log:
>
< snip >
Toggle quote (4 lines)
>
> Greetings,
> Maxime.

FWIW this test also fails on riscv64-linux.

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmKUgEwACgkQQarn3Mo9
g1G/Gw//aT1s5NI5v71k2FSydGp4rOY3DyvC2+soLNFIouhgXupudPjA+4eLilcV
ze8cVwFRh9i4aNJ3rA9B4pmWezJUiBoc0xqaffNObMbn974QXQuPnjY6os+woLPL
PAtTA3OzBfr64bw7pxQnkOo2CPtTwzVBky8/HOqv8e09/Cr2C5py+KrerYPIKtZG
yitEEoGMGWxjlio5JZCZqrqQmElfvMOU7Ue3uXgLIWtaQWDJitu7Z8k0hKxUOlLr
8UAS3dAdLiRvhk5QsAj6oldvUpVrNeVuJCmIAQZ9gNUqv0abcc4jjRDNyoL6jGfq
LqEDQ2fqY/AwcUWwTk2MtxPl6kkDq16lkqnq5AsTkvgtinQepMahlClOZEZ6emUE
KFpD6zfJwMgTgc0JpZNR7o4TzzJbf6NRw91GOce0t0psU94wj6u7bnTzDbBJnXKq
74YxOMT0ibWJyAP5paRHC733G4WRCDs+vDH2p8N8wDPTOjOOXcEwiV9wZO/Wc6jG
8PfNq/wTYE6qEbnKQ5iCVp1/utgY0WDXtwb9fL3s4TZAUWImQwiZPvLRRlRbvP1r
NdWPVe3ZGqwke32XQFY036hcyRVH4qYGlOZcv9RMFKsCaga7k6HnNRisqcWs0VlD
m1vISD2mu1ryfkKSyeyElj8kBaGrnoXOArDZEgvP3GAshqyNKuk=
=s+yA
-----END PGP SIGNATURE-----


?