[darcs-devel] my problems with tests that run ssh/curl
ganesh at earth.li
Wed Jul 15 22:32:51 UTC 2020
On 12/07/2020 09:45, Ben Franksen wrote:
> Am 12.07.20 um 03:11 schrieb Ganesh Sittampalam:
>> It turns out that quite a few of our non-network tests nevertheless do
>> run commands like ssh and curl for various reasons. One example is
>> issue2545_command-execution-via-ssh-uri which is fairly obvious but
>> there are several others.
>> I was vaguely wondering about just making those tests into "network"
>> tests that I then wouldn't run by default. It's not a great solution as
>> the tests don't generally genuinely rely on the network.
> By all means, go ahead and move them to the network folder. Even if they
> don't rely on the network proper, they still use network-related
> functionality. (I usually run all tests anyway so it doesn't matter much
> to me whether they are network tests or not.)
> While we're at it, we could also move the three network related shell
> functions (serve_http, finish_http, and check_remote_http) into a
> separate tests/network/httplib, to discourage us from using them in
> normal test scripts.
I've sent in a patch for both of these things (patch2051). I thought
more tests were affected but right now it looks like there's only one of
them. However this piece of spyware behaves a bit confusingly so it's
possible others will start breaking again in the future and I'll need to
move some more tests over to network.
Also, either I had misremembered how slow the tests are on Windows, or
they have got a lot slower at some point at least for me. It now takes
200 minutes to run all three variants single threaded :-(
I think I first mentioned this in the context of the possible turtle
changeover, but it looks like it's independent of that. Even if I run
them with -j 4 and run just one variant, it takes 37 mins. In contrast a
Linux VM running in VirtualBox on the same machine takes just 17 mins
with -j 4 to run all three variants. I may need to give up doing my
primary development on Windows and just use it for occasional test runs.
More information about the darcs-devel