Re: meson missing test dependencies - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: meson missing test dependencies
Date
Msg-id 856d332b-3888-497c-9348-3fe9db2fa612@eisentraut.org
Whole thread Raw
In response to Re: meson missing test dependencies  (Andres Freund <andres@anarazel.de>)
Responses Re: meson missing test dependencies
List pgsql-hackers
On 03.12.24 17:01, Andres Freund wrote:
> Hi,
> 
> On 2024-12-02 11:10:56 +0100, Peter Eisentraut wrote:
>> I have noticed that under meson many tests don't have dependencies on the
>> build artifacts that they are testing.  As an example among many, if you
>> make a source code change in contrib/cube/cube.c (see patch 0001 for a demo)
>> and then run
>>
>>      make -C contrib/cube check
>>
>> the test run will reflect the changed code, because the "check" targets
>> typically depend on the "all" targets.  But if you do this under meson with
>>
>>      meson test -C build --suite setup --suite cube
>>
>> the code will not be rebuilt first, and the test run will not reflect the
>> changed code.
> 
> That's unfortunately a very partial fix - because we insist on tests being run
> against a temporary install, we don't just need to rebuild the code, we also
> need to re-install it.  Without that you don't, e.g., see server changes.

Right, I was willing to accept that as a compromise, but see below.

> However, it looks like the tmp_install test *does* miss dependencies too and I
> see no reason to not fix that.

> diff --git i/meson.build w/meson.build
> index ff3848b1d85..55b751a0c6b 100644
> --- i/meson.build
> +++ w/meson.build
> @@ -3263,6 +3263,7 @@ test('tmp_install',
>       priority: setup_tests_priority,
>       timeout: 300,
>       is_parallel: false,
> +    depends: all_built,
>       suite: ['setup'])
> 
>   test('install_test_files',

Yes, that addresses my cube example.

But it doesn't address the test_json_parser example, because in that 
case the test executables are not installed.  So in that case we still 
need to manually add the dependencies.  But those are only a few cases 
(maybe just test_json_parser and libpq_pipeline).




pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: postgres_fdw: Provide better emulation of READ COMMITTED behavior
Next
From: Andres Freund
Date:
Subject: Re: meson missing test dependencies