Re: Add support for EXTRA_REGRESS_OPTS for meson

From: vignesh C <vignesh21(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Andreas Karlsson <andreas(at)proxel(dot)se>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Add support for EXTRA_REGRESS_OPTS for meson
Date: 2025-03-13 14:41:49
Message-ID: CALDaNm1G3qSNgVA2543BmB+dimT7FLGYksY5iLBmcLe8Rj-1dg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, 27 Feb 2025 at 18:51, Andres Freund <andres(at)anarazel(dot)de> wrote:
>
> Hi,
>
> On 2025-02-27 13:53:17 +0100, Andreas Karlsson wrote:
> > We use EXTRA_REGRESS_OPTS to make sure the whole test suite passes with our
> > extension loaded and since I prefer develop in meson over using autotools
> > and make the lack of support for EXTRA_REGRESS_OPTS in meson
> > has bugged me for a while.
>
> Yep, we should add support for that. TEMP_CONFIG probably too.
>
>
> > Question: Would it make sense to rename it to PG_REGRESS_EXTRA_OPTS or
> > something similar while we already touch touch this code to make the various
> > options easier to remember?
>
> I'd not tackle that at the same time personally.
>
>
> > @@ -51,7 +52,12 @@ env_dict = {**os.environ,
> > if "PG_TEST_EXTRA" not in env_dict and args.pg_test_extra:
> > env_dict["PG_TEST_EXTRA"] = args.pg_test_extra
> >
> > -sp = subprocess.Popen(args.test_command, env=env_dict, stdout=subprocess.PIPE)
> > +if args.testname in ['regress', 'isolation', 'ecpg'] and 'EXTRA_REGRESS_OPTS' in env_dict:
> > + test_command = args.test_command + shlex.split(env_dict['EXTRA_REGRESS_OPTS'])
> > +else:
> > + test_command = args.test_command
> > +
> > +sp = subprocess.Popen(test_command, env=env_dict, stdout=subprocess.PIPE)
> > # Meson categorizes a passing TODO test point as bad
> > # (https://github.com/mesonbuild/meson/issues/13183) Remove the TODO
> > # directive, so Meson computes the file result like Perl does. This could
>
> I hacked up something similar before, for TEMP_CONFIG, and found that I needed
> to do something like this:
>
> +if 'TEMP_CONFIG' in os.environ and \
> + args.testname in ['regress', 'isolation', 'ecpg']:
> + # be careful to insert before non-option args, otherwise it'll fail
> + # e.g. on windows
> + args.test_command.insert(1, '--temp-config='+os.environ['TEMP_CONFIG'])

Could you please upload a v2 to address this? In the meantime, I’ve
updated the commitfest entry status to 'Waiting on Author.' Kindly
update the status once the new version is posted.

Regards,
Vignesh

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2025-03-13 14:58:52 Re: Some read stream improvements
Previous Message vignesh C 2025-03-13 14:34:11 Re: plperl version on the meson setup summary screen