Hi Maxim, thanks for your help and the tip about caching. Unless I'm missing something, I don't think the caching of HTTP requests is involved here. I'm trying to test the (gnu machine hetzner) module and mock the functions it uses from the (gnu machine hetzner http) module. 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. :/ Roman Maxim Cournoyer writes: > Hi Roman, > > Roman Scherer writes: > >> I made a `mock*` macro to get around this ugly nesting in the meantime. >> >> https://github.com/r0man/guix/blob/hetzner-machine-v2-mock-star/tests/machine/hetzner.scm#L165-L248 >> >> But I'm still wondering why the `mock` in >> `deploy-machine-mock-with-unprovisioned-server` is working in the >> REPL, >> but failing when I run the test with make ... > > Could it be that you are tricked by the caching of HTTP queries? I've > been tricked by this before, as if you expect to have to mock each > individual request it may not happen as some will already be cached. > > If that's the case, either disabling cache could do, or more easily, use > something like done with mock-http-fetch in the tests/go.scm file. > > Hope that helps,