Introduce PG_TEST_TIMEOUT_DEFAULT for TAP suite non-elapsing timeouts.

Slow hosts may avoid load-induced, spurious failures by setting
environment variable PG_TEST_TIMEOUT_DEFAULT to some number of seconds
greater than 180.  Developers may see faster failures by setting that
environment variable to some lesser number of seconds.  In tests, write
$PostgreSQL::Test::Utils::timeout_default wherever the convention has
been to write 180.  This change raises the default for some briefer
timeouts.  Back-patch to v10 (all supported versions).

Discussion: https://postgr.es/m/20220218052842.GA3627003@rfd.leadboat.com
This commit is contained in:
Noah Misch
2022-03-04 18:53:13 -08:00
parent 9240589798
commit f2698ea02c
20 changed files with 75 additions and 65 deletions

View File

@ -18,8 +18,8 @@ my $node = PostgreSQL::Test::Cluster->new('main');
$node->init;
$node->start;
# use a long timeout for the benefit of very slow buildfarm machines
$node->command_ok([qw(pg_isready --timeout=60)],
$node->command_ok(
[ 'pg_isready', "--timeout=$PostgreSQL::Test::Utils::timeout_default" ],
'succeeds with server running');
done_testing();