Subject: Re: [bug#75144] [PATCH] machine: Implement 'hetzner-environment-type'.

From: Ludovic Courtès <[email-masked]>
Date: Tue, 28 Jan 2025 11:51:16 +0100

Hi,

Roman Scherer <[email-masked]> skribis:

> When I run the mocked test I expect no code from the (gnu machine
> hetzner http) module to be executed, since I mocked all those
> functions. This seems to work in the Geiser REPL, but for some reason it
> does not work when I run the test with:
>
> ./pre-inst-env make check TESTS="tests/machine/hetzner.scm"
>
> To me it looks like the mock function behaves differently in those 2
> situations. In the meaintime I also tried setting -O0, but that didn't
> make any difference either. :/

Hmm.  I was going to say that the likely problem is that code from (gnu
machines hetzner http) gets inlined so you cannot really mock it.

To make sure this can be mocked, you can use this trick:

  (set! proc proc)

where ‘proc’ is the procedure you want to mock (that statement prevents
the compiler from inlining it).

Ludo’.