New test "rewrite-url, without to-version" needs network

  • Done
  • quality assurance status badge
Details
3 participants
  • Janneke Nieuwenhuizen
  • Ludovic Courtès
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Janneke Nieuwenhuizen
Severity
normal
J
J
Janneke Nieuwenhuizen wrote on 19 Sep 2023 07:04
(address . bug-guix@gnu.org)
87y1h2kb2i.fsf@gnu.org
Hi Maxim,

As mentioned on IRC, the recently-added "rewrite-url, without
to-version" test needs not only nss-certs installed, as I found when
building it for the Hurd. New we also found it to fail in a container
without network access. That means a guix package build (in a
container) now fails.

After I updated the guix version to 1.4.0-11.658de25e99 yesterday
morning to (finally) get `guix pull' to work on the Hurd, several people
reported failure to reconfigure on IRC.

This

guix shell -CD guix
export SCM_LOG_DRIVER_FLAGS="--select=^rewrite-url, without to-version"
make check TESTS=tests/gnu-maintenance.scm

gives

Toggle snippet (9 lines)
test-name: rewrite-url, without to-version
[..]
expected-value: "https://dist.libuv.org/dist/v1.46.0/libuv-v1.46.0.tar.gz"
actual-value: #f
actual-error:
+ (getaddrinfo-error -8)
result: FAIL

When changing the code like this

Toggle snippet (7 lines)
-(test-equal "rewrite-url, without to-version"
+(pk "rewrite-url, without to-version"
"https://dist.libuv.org/dist/v1.46.0/libuv-v1.46.0.tar.gz"
- (with-http-server
+ "=>"(with-http-server

to create a backtrace, I get

Toggle snippet (33 lines)
Backtrace:
15 (primitive-load-path "tests/gnu-maintenance.scm")
In ice-9/eval.scm:
214:21 14 (_ #f)
217:33 13 (lp (#<procedure 7fd526cfcc60 at ice-9/eval.scm:182:7 ?>))
In guix/tests/http.scm:
174:8 12 (call-with-http-server _ _)
In guix/gnu-maintenance.scm:
568:6 11 (rewrite-url _ "1.45.0" #:to-version _)
In srfi/srfi-1.scm:
460:18 10 (fold #<procedure 7fd526d03bc0 at guix/gnu-maintenance?> ?)
In guix/gnu-maintenance.scm:
500:16 9 (_ _ ("dist" "dist.libuv.org" "" "https:"))
In ice-9/exceptions.scm:
406:15 8 (update-cache _)
In ice-9/boot-9.scm:
1752:10 7 (with-exception-handler _ _ #:unwind? _ # _)
In guix/http-client.scm:
340:20 6 (_)
107:28 5 (http-fetch _ #:port _ #:text? _ #:buffered? _ # _ # _ # ?)
In guix/build/download.scm:
468:4 4 (open-connection-for-uri _ #:timeout _ # _)
469:14 3 (thunk)
396:8 2 (open-socket-for-uri _ #:timeout _)
In unknown file:
1 (getaddrinfo "dist.libuv.org" "https" 32 #<undefined> # #)
In ice-9/boot-9.scm:
1685:16 0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure getaddrinfo: Servname not supported for ai_socktype

Greetings,
Janneke

PS: Without nss-certs installed, which was the usual case in a childhurd
until yesterday, I got

Toggle snippet (8 lines)
+ (tls-certificate-error
+ invalid-certificate
+ #<x509-certificate 4c1a3b0>
+ "dist.libuv.org"
+ (#<gnutls-certificate-status-enum signer-not-found>
+ #<gnutls-certificate-status-enum invalid>))

backtrace:

Toggle snippet (29 lines)
Backtrace:
11 (primitive-load-path "tests/gnu-maintenance.scm")
In guix/tests/http.scm:
174:8 10 (call-with-http-server _ _)
In guix/gnu-maintenance.scm:
568:6 9 (rewrite-url _ "1.45.0" #:to-version _)
In srfi/srfi-1.scm:
460:18 8 (fold #<procedure 6362b20 at guix/gnu-maintenance.scm:569:7 (s parents)> _ _)
In guix/gnu-maintenance.scm:
500:16 7 (_ _ ("dist" "dist.libuv.org" "" "https:"))
In ice-9/exceptions.scm:
406:15 6 (update-cache _)
In ice-9/boot-9.scm:
1752:10 5 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
In guix/http-client.scm:
340:20 4 (_)
107:28 3 (http-fetch _ #:port _ #:text? _ #:buffered? _ #:open-connection _ # _ # _ # _ ?)
In guix/build/download.scm:
468:4 2 (open-connection-for-uri _ #:timeout _ #:verify-certificate? _)
360:6 1 (tls-wrap #<closed: file 637fe70> _ #:verify-certificate? _)
In ice-9/boot-9.scm:
1685:16 0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
X.509 certificate of 'dist.libuv.org' could not be verified:
signer-not-found
invalid

--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com| Avatar® https://AvatarAcademy.com
M
M
Maxim Cournoyer wrote on 20 Sep 2023 20:05
(name . Janneke Nieuwenhuizen)(address . janneke@gnu.org)
87h6no4t53.fsf@gmail.com
Hi Janneke!

Janneke Nieuwenhuizen <janneke@gnu.org> writes:

Toggle quote (8 lines)
> Hi Maxim,
>
> As mentioned on IRC, the recently-added "rewrite-url, without
> to-version" test needs not only nss-certs installed, as I found when
> building it for the Hurd. New we also found it to fail in a container
> without network access. That means a guix package build (in a
> container) now fails.

Ouch! That's clearly not intended.

Toggle quote (29 lines)
> After I updated the guix version to 1.4.0-11.658de25e99 yesterday
> morning to (finally) get `guix pull' to work on the Hurd, several people
> reported failure to reconfigure on IRC.
>
> This
>
> guix shell -CD guix
> export SCM_LOG_DRIVER_FLAGS="--select=^rewrite-url, without to-version"
> make check TESTS=tests/gnu-maintenance.scm
>
> gives
>
> test-name: rewrite-url, without to-version
> [..]
> expected-value: "https://dist.libuv.org/dist/v1.46.0/libuv-v1.46.0.tar.gz"
> actual-value: #f
> actual-error:
> + (getaddrinfo-error -8)
> result: FAIL
>
>
> When changing the code like this
>
> -(test-equal "rewrite-url, without to-version"
> +(pk "rewrite-url, without to-version"
> "https://dist.libuv.org/dist/v1.46.0/libuv-v1.46.0.tar.gz"
> - (with-http-server
> + "=>"(with-http-server

Thanks for the reproducer. I'll look into fixing the problem. I
believe it's a matter of adding more mocked server replies. I must have
miscounted how many were needed.

--
Thanks,
Maxim
L
L
Ludovic Courtès wrote on 28 Sep 2023 00:09
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
87y1grz2s7.fsf@gnu.org
Hi!

Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:

Toggle quote (12 lines)
> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>
>> Hi Maxim,
>>
>> As mentioned on IRC, the recently-added "rewrite-url, without
>> to-version" test needs not only nss-certs installed, as I found when
>> building it for the Hurd. New we also found it to fail in a container
>> without network access. That means a guix package build (in a
>> container) now fails.
>
> Ouch! That's clearly not intended.

I went ahead and fixed it in 72fc91b113564f8006094c0118f06af0f414d21b.

Let me know if anything’s unclear!

Ludo’.
L
L
Ludovic Courtès wrote on 28 Sep 2023 00:09
control message for bug #66097
(address . control@debbugs.gnu.org)
87wmwbz2s0.fsf@gnu.org
close 66097
quit
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 66097
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