Subject: Re: [RFC PATCH v4 00/19] Modernize the build system

From: Patrick Steinhardt <[email-masked]>
Date: Mon, 4 Nov 2024 13:16:55 +0100

On Mon, Oct 28, 2024 at 09:34:25PM +0000, Ramsay Jones wrote:
> 
> 
> On 24/10/2024 13:39, Patrick Steinhardt wrote:
> > Hi,
> > 
> > this is the fourth version of my patch series that modernizes our build
> > system. It refactors various parts of it to make it possible to perform
> > out-of-tree builds in theory and then wires up Meson.
> 
> As Promised, I have tested this version on Linux and Cygwin (not full test
> on patches 1-18). When built on top of fd3785337b (The third batch) with
> the two branches merged (as indicated below) Linux (build+test) and cygwin
> (just build) work as expected.

Thanks!

> >   - I've dropped the target names for `custom_target()` invocations.
> >     Those are auto-derived from the first output anyway, so they only
> >     add unnecessary noise.
> > 
> >   - The last patch is a compatibility patch for "seen". There are a
> >     couple of topics that interact with this series, and I didn't want
> >     to make all of them a strict dependency. So I've decided to just
> >     create a fixup-style commit that does the necessary changes in order
> >     to work with "seen". Like this, you can test without "seen" by
> >     simply dropping that last commit, and you can test with "seen" by
> >     merging it into this topic.
> 
> I couldn't try this patch because (at the time) the 'seen' branch
> didn't build. :(

Okay. I'll adapt the next version accordingly.

> On cygwin, the result looks like:
> 
>   $ tail -11 meson-logs/testlog.txt
>   Summary of Failures:
>   
>     23/1035 t-reftable-stack                               TIMEOUT        30.26s   killed by signal 15 SIGTERM
>    114/1035 t1017-cat-file-remote-object-info              FAIL            0.13s   exit status 127
>   
>   Ok:                 1033
>   Expected Fail:      0   
>   Fail:               1   
>   Unexpected Pass:    0   
>   Skipped:            0   
>   Timeout:            1   
>   $ 
> 
> The t-reftable-stack unit test took just over 75s on the v2.27.0 test run.
> I haven't looked into it yet, but plenty of other tests run for longer than
> the 30s, so I don't know why that test seems to be different.

Meson has a default timeout of 30 seconds for tests. I only removed that
timeout for our shell scripts, but didn't for the unit tests. I'll fix
that in the next version.

> Also, it is worth noting that the test ran for 2hr50min. Usually I have to
> wait 6hr approx. for 'make test' to finish because I don't like to use any
> '-j' parameters (You can't do anything else on the machine while it is
> cooking the cpu!). :)

You probably know, but you can of course also pick the number of CPU
cores to run tests on with Meson: `meson test -j1`.

Patrick