bug#66097: New test "rewrite-url, without to-version" needs network

2023-09-27 Thread Ludovic Courtès
Hi!

Maxim Cournoyer  skribis:

> Janneke Nieuwenhuizen  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’.





bug#66097: New test "rewrite-url, without to-version" needs network

2023-09-20 Thread Maxim Cournoyer
Hi Janneke!

Janneke Nieuwenhuizen  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.

> 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





bug#66097: New test "rewrite-url, without to-version" needs network

2023-09-18 Thread Janneke Nieuwenhuizen
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

--8<---cut here---start->8---
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
--8<---cut here---end--->8---

When changing the code like this

--8<---cut here---start->8---
-(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
--8<---cut here---end--->8---

to create a backtrace, I get

--8<---cut here---start->8---
Backtrace:
  15 (primitive-load-path "tests/gnu-maintenance.scm")
In ice-9/eval.scm:
   214:21 14 (_ #f)
   217:33 13 (lp (#))
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 # ?)
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 # # #)
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
--8<---cut here---end--->8---

Greetings,
Janneke

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

--8<---cut here---start->8---
+ (tls-certificate-error
+   invalid-certificate
+   #
+   "dist.libuv.org"
+   (#
+#))
--8<---cut here---end--->8---

backtrace:

--8<---cut here---start->8---
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 # _ _)
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 # _ #: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
--8<---cut here---end--->8---

-- 
Janneke Nieuwenhuizen   | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com