Subject: [PATCH 0/9] Replace some mocking with with-http-server*, avoid hardcoding ports,

From: Maxime Devos <[email-masked]>
Date: Thu, 20 Jan 2022 13:59:16 +0100

X-Debbugs-CC: [email-masked]

Hi,

This patch series addresses:

Ludovic Courtès schreef op zo 16-01-2022 om 23:19 [+0100]:
> I think the whole point of having the ‘%github-api’ parameter is that
> it allows us to mock the HTTP server instead of having to override
> bindings such as ‘http-fetch’.
> 
> I’d have a slight preference for doing that, similar to what is done
> in tests/cpan.scm for instance.  WDYT?

(see <https://issues.guix.gnu.org/53060#3>.)

by extending with-http-server to with-http-server* to allow arbitrary
request handlers and extending with-http-server to allow verifying the
URI of a request.

tests/cpan.scm has been modified to verify the URIs.
tests/import-github.scm and tests/minetest.scm have been modified to
avoid mocking.

Somewhat unrelated, tests/lint.scm, tests/cpan.scm and
tests/challenge.scm have been modified to avoid hard coding ports,
as a follow-up to commit c05ceaf2b650d090cf39a048193505cb4e6bd257:

 [...]
 Previously, test cases could fail if some process was listening
 at a hard-coded port. This patch eliminates most of these
 potential failures, by automatically assigning an unbound port. 
 This should allow for building multiple guix trees in parallel
 outside a build container, though this is currently untested.
 [...]

After this patch series, there's to my knowledge only one instance of
hardcoded ports remaining, in tests/lint.scm ("home-page: Connection
refused").

This patch series is also available at
https://notabug.org/maximed/guix-gnunet (branch
more-precise-http-tests, commit
f0a0303c17b5aa92493aea5a6d28183421b7cf44).

Greetings,
Maxime.