tests/lint.scm fails building guix with guile-2.2

  • Open
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Vagrant Cascadian
  • zimoun
Owner
unassigned
Submitted by
Vagrant Cascadian
Severity
normal
V
V
Vagrant Cascadian wrote on 20 Nov 2020 01:35
(address . bug-guix@gnu.org)
87y2iwvp9d.fsf@yucca
I'm exploring building with guile 2.2 because guile-gnutls built with
guile 3.0 is only available in experimental, and even there, missing for
arm64.

From tests/lint.log:

test-name: archival: missing content
location: /build/guix-EdK9LP/guix-1.2.0~rc2/tests/lint.scm:921
source:
+ (test-assert
+ "archival: missing content"
+ (let* ((origin
+ (origin
+ (method url-fetch)
+ (sha256 (make-bytevector 32))))
+ (warnings
+ (with-http-server
+ '((404 "Not archived."))
+ (parameterize
+ ((%swh-base-url (%local-url)))
+ (check-archival
+ (dummy-package "x" (source origin)))))))
+ (warning-contains? "not archived" warnings)))
actual-value: #f
actual-error:
+ (keyword-argument-error
+ #<procedure http-request (uri #:key body port method version keep-alive? headers decode-body? streaming? request)>
+ "Unrecognized keyword"
+ ()
+ (#:verify-certificate?))
result: FAIL


I haven't tried reproducing this without the Debian patches applied
which liberally sprinkle the test suites with:

(unless (network-reachable? (test-skip 1))

... but if you can spot a likely issue, I'd be happy to test it. :)


live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCX7cPXgAKCRDcUY/If5cW
qrp/AQD/8lkMtonIhZwWBN+MSp/Am3BP+JlDk8Ix+RJbsmw2sQD+MKcC8TambTi8
SyhWF/aH/fnBMIY5Cj7Bi6wH3Fu2gQM=
=g6eo
-----END PGP SIGNATURE-----

Z
Z
zimoun wrote on 20 Nov 2020 10:32
865z60xtjq.fsf@gmail.com
Hi Vagrant,

On Thu, 19 Nov 2020 at 16:35, Vagrant Cascadian <vagrant@debian.org> wrote:

Toggle quote (28 lines)
> test-name: archival: missing content
> location: /build/guix-EdK9LP/guix-1.2.0~rc2/tests/lint.scm:921
> source:
> + (test-assert
> + "archival: missing content"
> + (let* ((origin
> + (origin
> + (method url-fetch)
> + (uri "http://example.org/foo.tgz")
> + (sha256 (make-bytevector 32))))
> + (warnings
> + (with-http-server
> + '((404 "Not archived."))
> + (parameterize
> + ((%swh-base-url (%local-url)))
> + (check-archival
> + (dummy-package "x" (source origin)))))))
> + (warning-contains? "not archived" warnings)))
> actual-value: #f
> actual-error:
> + (keyword-argument-error
> + #<procedure http-request (uri #:key body port method version keep-alive? headers decode-body? streaming? request)>
> + "Unrecognized keyword"
> + ()
> + (#:verify-certificate?))
> result: FAIL
>

I remember issues fixed by 722ad41c44a499d2250c79527ef7d069ca728de0
which maybe introduce a regression for Guile 2.2.

Toggle snippet (7 lines)
+;; XXX: Work around a bug in Guile 3.0.2 where #:verify-certificate? would
+;; be ignored (<https://bugs.gnu.org/40486>).
+(define* (http-get* uri #:rest rest)
+ (apply http-request uri #:method 'GET rest))
+(define* (http-post* uri #:rest rest)

Maybe it is related.


All the best,
simon
L
L
Ludovic Courtès wrote on 20 Nov 2020 12:47
(name . zimoun)(address . zimon.toutoune@gmail.com)
87sg94dzby.fsf@gnu.org
Hi,

zimoun <zimon.toutoune@gmail.com> skribis:

Toggle quote (11 lines)
> I remember issues fixed by 722ad41c44a499d2250c79527ef7d069ca728de0
> which maybe introduce a regression for Guile 2.2.
>
> +;; XXX: Work around a bug in Guile 3.0.2 where #:verify-certificate? would
> +;; be ignored (<https://bugs.gnu.org/40486>).
> +(define* (http-get* uri #:rest rest)
> + (apply http-request uri #:method 'GET rest))
> +(define* (http-post* uri #:rest rest)
>
> Maybe it is related.

Yeah, #:verify-certificate? is new in 3.0.x:


Vagrant, perhaps the simplest option for you would be to skip these
tests. There’s no rush but I think we’ll remove 2.2 support in the
not-too-distant future.

Ludo’.
?