Hi, Justin!
On Wed, 28 Dec 2022 at 21:28, Justin Pryzby <pryzby@telsasoft.com> wrote:
>
> On Tue, Dec 27, 2022 at 11:29:40PM -0500, Tom Lane wrote:
> > Justin Pryzby <pryzby@telsasoft.com> writes:
> > > This fails when run more than once:
> > > time meson test --setup running --print test_pg_db_role_setting-running/regress
> >
> > Ah.
> >
> > > It didn't fail for you because it says:
> > > ./src/test/modules/test_pg_db_role_setting/Makefile
> > > +# disable installcheck for now
> > > +NO_INSTALLCHECK = 1
> >
> > So ... exactly why is the meson infrastructure failing to honor that?
> > This test looks sufficiently careless about its side-effects that
> > I completely agree with the decision to not run it in pre-existing
> > installations. Failing to drop a created superuser is just one of
> > its risk factors --- it also leaves around pg_db_role_setting entries.
>
> Meson doesn't try to parse the Makefiles (like the MSVC scripts) but
> (since 3f0e786ccb) has its own implementation, which involves setting
> 'runningcheck': false.
>
> 096dd80f3c seems to have copied the NO_INSTALLCHECK from oat's makefile,
> but didn't copy "runningcheck" from oat's meson.build (but did copy its
> regress_args).
I completely agree with your analysis. Fixes by 3f0e786ccbf5 to oat
and the other modules tests came just a couple of days before
committing the main pg_db_role_setting commit 096dd80f3c so they were
forgotten to be included into it.
I support committing the same fix to pg_db_role_setting test and added
this minor fix as a patch to this thread.
Kind regards, and happy New year!
Pavel Borisov,
Supabase.