Re: meson: Make test output much more useful on failure (both in CI and locally)

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Jelte Fennema-Nio <postgres@jeltef.nl>, Nazir Bilal Yavuz <byavuz81@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-03-02T18:25:08Z
Lists: pgsql-hackers
On 2026-02-06 Fr 3:44 AM, Jelte Fennema-Nio wrote:
> On Tue, 3 Feb 2026 at 11:20, Nazir Bilal Yavuz <byavuz81@gmail.com> 
> wrote:
>> v2-0001:
>>
>> This doesn't really read the first 80 lines of the combined diff.
>> Lines with more than 1023 characters will be counted and printed as
>> multiple lines. I don't think this is a problem but clearing this
>> would be helpful. Other than that, it looks good to me.
>
> I was annoyed by this, so I actually fixed it (manually tested by
> changing the buffer to 10 bytes). This meant I needed to introduce
> DIAG_DETAIL and DIAG_END, like we already had NOTE_DETAIL and NOTE_END.
>
>> v2-0002:
>>
>> I am just curious if test failure can cause file descriptors not being
>> properly closed and then the IPC::Run:run() call will hang
>> indefinitely like the pg_ctl case. Other than that, it looks good to
>> me.
>
> No, this issue only happens because for the 'pg_ctl restart' process,
> its the child postmaster process outlives the pg_ctl process, WHILE
> still having the stdout/stderr file descriptor open. As long as all the
> subprocesses exit, the file descriptor will be closed by the OS
> automatically. So, this problem really only occurs in these daemon
> spawning situations. Which for us in practice is only for pg_ctl
> start/restart.
>



I've had a brief look at these. They generally look OK - I didn't see 
any obvious issues.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com




Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Use command_ok for pg_regress calls in 002_pg_upgrade and 027_stream_regress

  2. perl tap: Show die reason in TAP output

  3. perl tap: Show failed command output

  4. perl tap: Use croak instead of die in our helper modules

  5. pg_regress: Include diffs in TAP output