public inbox for [email protected]
help / color / mirror / Atom feedFrom: Tom Lane <[email protected]>
To: Andrew Dunstan <[email protected]>
Cc: [email protected]
Cc: Robert Haas <[email protected]>
Subject: BF client script runs src/test/modules TAP tests multiple times
Date: Wed, 08 Apr 2026 01:00:51 -0400
Message-ID: <[email protected]> (raw)
I spent some more time poking into why my buildfarm animals seemed
to have gotten markedly slower in the past month or so. One
particular inflection point was the introduction of test_plan_advice.
We knew that would be expensive, since it invokes an extra run of
the core regression tests. On my animal indri, which can do
install-check-C in about 10 or 11 seconds, you'd have expected that
to add ten-ish seconds to the total cycle time. But it added more
than 30 seconds. Investigation shows that what you'd guess from
simple arithmetic is the truth: the BF client script is invoking
that test *three times*. Once from make_misc_check, once from
make_testmodules_install_check with locale "C", and once from
make_testmodules_install_check with locale "en_US.utf8", since
that animal is set up with
locales => [ 'C', 'en_US.UTF-8' ],
I do not think we need this. We should apply the same policy to
src/test/modules as we do to contrib, namely that TAP tests are
run just once during the "make check" phase, not during the "make
installcheck" phases. I've applied the attached to my animals
and it makes for a significant drop in cycle time.
(I've not looked into whether the meson side has a similar issue.)
regards, tom lane
Attachments:
[text/x-diff] no-extra-tap-tests.patch (466B, 2-no-extra-tap-tests.patch)
download | inline diff:
--- run_build.pl~ 2026-04-07 18:34:30.112991218 -0400
+++ run_build.pl 2026-04-07 22:33:56.230330171 -0400
@@ -2228,8 +2228,9 @@ sub make_testmodules_install_check
my @checklog;
unless ($using_msvc)
{
+ # skip TAP tests - they are called elsewhere
my $cmd =
- "cd $pgsql/src/test/modules && $make USE_MODULE_DB=1 installcheck";
+ "cd $pgsql/src/test/modules && $make USE_MODULE_DB=1 TAP_TESTS= installcheck";
@checklog = run_log($cmd);
}
else
view thread (2+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected]
Subject: Re: BF client script runs src/test/modules TAP tests multiple times
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox