Subject: Re: [bug#74394] [PATCH 0/2] Skip slow tests by default and run 'check' in Git pre-push hook.

From: Ludovic Courtès <[email-masked]>
Date: Fri, 29 Nov 2024 11:05:51 +0100

Hi Maxim,

Maxim Cournoyer <[email-masked]> skribis:

> This is a simple change that should ensure test suite breakages are detected
> as early as possible and avoid tests breaking changes to be pushed.  This is
> made possible by skipping a few expensive tests suite, bringing down the total
> test time to about 1 minute on a fast machine.
>
> We could call it a "distributed CI" approach ;-).

I agree with the goal, of course, but not with the method: even without
expensive tests, “make check” is going to take maybe 5–10 minutes, and
having that happen when you run “git push” can be a terrible development
experience (especially since the developer most likely either already
ran the test suite or part of it right before, or pushes package changes
that have infinitely small probability of breaking “make check”).

Back to CI and not breaking things: I think that we should have a
workflow where the forge triggers those checks and puts a green light if
it passes, red light otherwise.  (Basically what everybody else is
doing. :-))

To me this should be one of the goals for the project in 2025.

> To run the complete test suite including the slow tests (as is the case prior
> this change):
>
> make check WITH_SLOW_TESTS=1

This variable itself may still be useful though (I’d call it
‘RUN_EXPENSIVE_TESTS’ or something like that—that’s the name used in
Coreutils—, “expensive” being the key word).  I would also keep it on by
default.

Thanks,
Ludo’.