From: | Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com> |
---|---|
To: | jian he <jian(dot)universality(at)gmail(dot)com> |
Cc: | Tristan Partin <tristan(at)partin(dot)io>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: meson and check-tests |
Date: | 2024-06-03 05:56:25 |
Message-ID: | CAN55FZ3t+eDgKtsDoyi0UYwzbMkKDfqJgvsbamar9CvY_6qWPw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On Sun, 2 Jun 2024 at 07:06, jian he <jian(dot)universality(at)gmail(dot)com> wrote:
>
> On Sun, Jun 2, 2024 at 4:48 AM Tristan Partin <tristan(at)partin(dot)io> wrote:
> >
> > On Fri May 31, 2024 at 12:02 PM CDT, Ashutosh Bapat wrote:
> > > Hi Tristan,
> > > Using make I can run only selected tests under src/test/regress using
> > > TESTS=... make check-tests. I didn't find any way to do that with meson.
> > > meson test --suite regress runs all the regression tests.
> > >
> > > 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.
> >
> > 2: meson test -C build regress/regress --test-args my_specific_test
> > 3: meson test -C build regress/regress --test-args "--no-schedule my_specific_test"
> >
> > Does anyone have an opinion?
> >
>
> if each individual sql file can be tested separately, will
> `test: test_setup`?
> be aslo executed as a prerequisite?
Yes, it is required to run at least two setup tests because regress
tests require a database to be created:
1- The initdb executable is needed, and it is installed by the
'tmp_install' test for the tests.
2- Although the initdb executable exists, it is not enough by itself.
Regress tests copies its database contents from the template
directory, instead of running initdb for each test [1] (This is the
default behaviour in the meson builds' regress tests). This template
directory is created by the 'initdb_cache' test.
[1] 252dcb3239
--
Regards,
Nazir Bilal Yavuz
Microsoft
From | Date | Subject | |
---|---|---|---|
Next Message | Aleksander Alekseev | 2024-06-03 07:10:55 | Re: meson "experimental"? |
Previous Message | Peter Smith | 2024-06-03 05:50:55 | walsender.c comment with no context is hard to understand |