PG_TEST_EXTRA and meson

From: Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: PG_TEST_EXTRA and meson
Date: 2024-07-11 06:30:15
Message-ID: CAExHW5uTUWgJHuHz_iFs+phQxhMy2NUQRFZBtqde4SoCHbMcAw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi All,
Using PG_TEST_EXTRA with make is simple, one just sets that environment variable
$ make check
... snip ...
PG_REGRESS='/home/ashutosh/work/units/pghead_make/coderoot/pg/src/test/modules/xid_wraparound/../../../../src/test/regress/pg_regress'
/usr/bin/prove -I ../../../../src/test/perl/ -I . t/*.pl
# +++ tap check in src/test/modules/xid_wraparound +++
t/001_emergency_vacuum.pl .. skipped: test xid_wraparound not enabled
in PG_TEST_EXTRA
t/002_limits.pl ............ skipped: test xid_wraparound not enabled
in PG_TEST_EXTRA
t/003_wraparounds.pl ....... skipped: test xid_wraparound not enabled
in PG_TEST_EXTRA
Files=3, Tests=0, 1 wallclock secs ( 0.02 usr 0.00 sys + 0.20 cusr
0.03 csys = 0.25 CPU)
Result: NOTESTS

Set PG_TEST_EXTRA
$ PG_TEST_EXTRA=xid_wraparound make check
PG_REGRESS='/home/ashutosh/work/units/pghead_make/coderoot/pg/src/test/modules/xid_wraparound/../../../../src/test/regress/pg_regress'
/usr/bin/prove -I ../../../../src/test/perl/ -I . t/*.pl
# +++ tap check in src/test/modules/xid_wraparound +++
t/001_emergency_vacuum.pl .. ok
t/002_limits.pl ............ ok
t/003_wraparounds.pl ....... ok
All tests successful.
Files=3, Tests=11, 181 wallclock secs ( 0.03 usr 0.00 sys + 2.87
cusr 3.10 csys = 6.00 CPU)
Result: PASS

But this simple trick does not work with meson
$ meson test -C $BuildDir --suite setup --suite xid_wraparound
ninja: Entering directory `/home/ashutosh/work/units/pg_review/build_dev'
ninja: no work to do.
1/6 postgresql:setup / tmp_install
OK 0.85s
2/6 postgresql:setup / install_test_files
OK 0.06s
3/6 postgresql:setup / initdb_cache
OK 1.57s
4/6 postgresql:xid_wraparound / xid_wraparound/001_emergency_vacuum
SKIP 0.24s
5/6 postgresql:xid_wraparound / xid_wraparound/003_wraparounds
SKIP 0.26s
6/6 postgresql:xid_wraparound / xid_wraparound/002_limits
SKIP 0.27s

$ PG_TEST_EXTRA=xid_wraparound meson test -C $BuildDir --suite setup
--suite xid_wraparound
ninja: Entering directory `/home/ashutosh/work/units/pg_review/build_dev'
ninja: no work to do.
1/6 postgresql:setup / tmp_install
OK 0.41s
2/6 postgresql:setup / install_test_files
OK 0.06s
3/6 postgresql:setup / initdb_cache
OK 1.57s
4/6 postgresql:xid_wraparound / xid_wraparound/003_wraparounds
SKIP 0.20s
5/6 postgresql:xid_wraparound / xid_wraparound/001_emergency_vacuum
SKIP 0.24s
6/6 postgresql:xid_wraparound / xid_wraparound/002_limits
SKIP 0.24s

the tests are still skipped.

In order to run these tests, we have to run meson setup again. There
are couple of problems with this
1. It's not clear why the tests were skipped. Also not clear that we
have to run meson setup again - from the output alone
2. Running meson setup again is costly, every time we have to run a
new test from PG_TEST_EXTRA.
3. Always configuring meson with PG_TEST_EXTRA means we will run heavy
tests every time meson test is run. I didn't find a way to not run
these tests as part of meson test once configured this way.

We should either allow make like behaviour or provide a way to not run
these tests even if configured that way.

--
Best Wishes,
Ashutosh Bapat

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message cca5507 2024-07-11 07:16:13 Fix a comment error in logicalrep_write_typ()
Previous Message Shubham Khanna 2024-07-11 06:16:51 Re: Pgoutput not capturing the generated columns