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']) Greetings, Andres Freund