Re: Windows CFBot is broken because ecpg dec_test.c error

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Nazir Bilal Yavuz <byavuz81@gmail.com>
Cc: Jelte Fennema-Nio <postgres@jeltef.nl>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Thomas Munro <thomas.munro@gmail.com>, Noah Misch <noah@leadboat.com>
Date: 2025-02-04T17:46:42Z
Lists: pgsql-hackers
Hi,

On 2025-01-30 16:18:54 +0300, Nazir Bilal Yavuz wrote:
> On Wed, 29 Jan 2025 at 19:50, Andres Freund <andres@anarazel.de> wrote:
> > I don't think that's the entirety of the issue.
> >
> > Our dependencies aren't quite airtight enough. With a sufficiently modern
> > meson, try doing e.g.
> >
> >   rm -rf tmp_install/ && ninja clean && meson test --suite setup --suite ecpg
> >
> > It'll fail, because the dependencies of the tests are insufficient.
> >
> > See the set of patches at
> > https://www.postgresql.org/message-id/qh4c5tvkgjef7jikjig56rclbcdrrotngnwpycukd2n3k25zi2%4044hxxvtwmgum
> >
> >
> > I think the only reason your patch on its own suffices, is that the "all"
> > target, that we ran separately beforehand, actually has sufficient
> > dependencies to make things work.
> 
> Yes, you are right. I agree that what you said is the correct solution
> and that should be the ultimate goal.

I think we need to fix this properly across branches. The version of meson is
going to be more common soon. And it'll be a problem for developers too, not
just CI.  I'll start working on committing these fixes across the branches,
unless somebody protests immediately.


> What I shared could be a band-aid fix to make the Windows CI task happy
> until the patches you shared get committed.

I think we'll still need something like what you propose.  Although I do think
it'd be better if we continued building all targets in a dedicated _script:
block, so that you can see all build failures in those steps.

Greetings,

Andres Freund



Commits

  1. Show more-intuitive titles for psql commands \dt, \di, etc.

  2. meson: Add missing dependencies for libpq tests

  3. meson: Add missing dependencies to libpq_pipeline test

  4. meson: Add pg_regress_ecpg to ecpg test dependencies

  5. meson: Add test dependencies for test_json_parser

  6. meson: Improve dependencies for tmp_install test target

  7. meson: Narrow dependencies for 'install-quiet' target

  8. meson: ci: ensure tests are built before running them

  9. Add get_opfamily_name() function

  10. Test ECPG decadd(), decdiv(), decmul(), and decsub() for risnull() input.