GNU bug report logs -
#57978
'guix substitute' stops when first substitute URL is unroutable
Previous Next
Full log
Message #33 received at 57978 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> +(test-equal "substitute, first URL has narinfo but nar is 404, both URLs authorized"
> + "Substitutable data."
> + (with-narinfo*
> + (string-append %narinfo "Signature: "
> + (signature-field %narinfo))
> + %main-substitute-directory
> +
> + (with-http-server `((200 ,(string-append %narinfo "Signature: "
> + (signature-field %narinfo)))
> + (404 "Sorry, nar is missing!"))
> + (dynamic-wind
> + (const #t)
> + (lambda ()
> + (parameterize ((substitute-urls
> + (list (%local-url)
> + (string-append "file://"
> + %main-substitute-directory))))
> + (request-substitution (string-append (%store-prefix)
> + "/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo")
> + "substitute-retrieved"))
> + (call-with-input-file "substitute-retrieved" get-string-all))
> + (lambda ()
> + (false-if-exception (delete-file "substitute-retrieved")))))))
Shouldn't it only ignore 'file not found' (ENOENT?) exceptions?
If the exception handling is refined a bit, it becomes a bit more
complicated, and could be simplified to (when [exists] [delete]), as
there are no atomicity concerns.
This test, and some others, can be improved by also checking the URI.
While currently 'with-http-server' does not support that, there are (5
months, with the v1 having seen some reviewing and a v2 available)
patches for that at <https://issues.guix.gnu.org/53389>.
That patch also _requires_ always mentioning the URI, if the cover
letter is correct. It also allows simplifying the use of '%local-url' a
bit.
Greetings,
Maxime.
[OpenPGP_0x49E3EE22191725EE.asc (application/pgp-keys, attachment)]
[OpenPGP_signature (application/pgp-signature, attachment)]
This bug report was last modified 2 years and 288 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.