From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com> |
Subject: | Re: meson missing test dependencies |
Date: | 2024-12-05 19:08:24 |
Message-ID: | 856d332b-3888-497c-9348-3fe9db2fa612@eisentraut.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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).
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2024-12-05 20:10:08 | Re: meson missing test dependencies |
Previous Message | Andrey M. Borodin | 2024-12-05 18:31:53 | Re: Sort functions with specialized comparators |