On Sun Jun 2, 2024 at 12:25 AM CDT, Tom Lane wrote:
"Tristan Partin" <tris...@partin.io> writes:
> On Fri May 31, 2024 at 12:02 PM CDT, Ashutosh Bapat wrote:
>> We talked this off-list at the conference. It seems we have to somehow
>> avoid passing pg_regress --schedule argument and instead pass the list of
>> tests. Any idea how to do that?

> I think there are 2 solutions to this.
> 1. Avoid passing --schedule by default, which doesn't sound like a great > solution. > 2. Teach pg_regress to ignore the --schedule option if specific tests > are passed instead. > 3. Add a --no-schedule option to pg_regress which would override the > previously added --schedule option.
> I personally prefer 2 or 3.

Just to refresh peoples' memory of what the Makefiles do:
src/test/regress/GNUmakefile has

check: all
        $(pg_regress_check) $(REGRESS_OPTS) 
--schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(EXTRA_TESTS)

check-tests: all | temp-install
        $(pg_regress_check) $(REGRESS_OPTS) $(MAXCONNOPT) $(TESTS) 
$(EXTRA_TESTS)

(and parallel cases for installcheck etc).  AFAICS, meson.build has
no equivalent to the EXTRA_TESTS add-on, nor does it have behavior
equivalent to check-tests' substitution of $(TESTS) for --schedule.
But I suggest that those behaviors have stood for a long time and
so the appropriate thing to do is duplicate them as best we can,
not invent something different.

In theory, this makes sense. In practice, this is hard to emulate. We could make the check-tests a Meson run_target() instead of another test(), which would end up running the same tests more than once.

We could also add the same functionality proposed in my email to the Makefile, so they mirror each other. check-tests would then just become a legacy target name.

--
Tristan Partin
https://tristan.partin.io


Reply via email to