aboutsummaryrefslogtreecommitdiff
path: root/src/test/perl/PostgresNode.pm
diff options
context:
space:
mode:
authorNoah Misch <noah@leadboat.com>2019-05-11 00:22:38 -0700
committerNoah Misch <noah@leadboat.com>2019-05-11 00:22:38 -0700
commit54c2ecb56707ed00844b8678a79570dd34cb95a3 (patch)
treece5c7c0867ef77341f01211348badac808056b2d /src/test/perl/PostgresNode.pm
parente51bad8fb4c3f0ad5cb173034afdc0b349c7e488 (diff)
downloadpostgresql-54c2ecb56707ed00844b8678a79570dd34cb95a3.tar.gz
postgresql-54c2ecb56707ed00844b8678a79570dd34cb95a3.zip
Honor TEMP_CONFIG in TAP suites.
The buildfarm client uses TEMP_CONFIG to implement its extra_config setting. Except for stats_temp_directory, extra_config now applies to TAP suites; extra_config values seen in the past month are compatible with this. Back-patch to 9.6, where PostgresNode was introduced, so the buildfarm can rely on it sooner. Reviewed by Andrew Dunstan and Tom Lane. Discussion: https://postgr.es/m/20181229021950.GA3302966@rfd.leadboat.com
Diffstat (limited to 'src/test/perl/PostgresNode.pm')
-rw-r--r--src/test/perl/PostgresNode.pm13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/test/perl/PostgresNode.pm b/src/test/perl/PostgresNode.pm
index 37da809944a..8d5ad6bc166 100644
--- a/src/test/perl/PostgresNode.pm
+++ b/src/test/perl/PostgresNode.pm
@@ -452,7 +452,17 @@ sub init
print $conf "log_statement = all\n";
print $conf "log_replication_commands = on\n";
print $conf "wal_retrieve_retry_interval = '500ms'\n";
- print $conf "port = $port\n";
+
+ # If a setting tends to affect whether tests pass or fail, print it after
+ # TEMP_CONFIG. Otherwise, print it before TEMP_CONFIG, thereby permitting
+ # overrides. Settings that merely improve performance or ease debugging
+ # belong before TEMP_CONFIG.
+ print $conf TestLib::slurp_file($ENV{TEMP_CONFIG})
+ if defined $ENV{TEMP_CONFIG};
+
+ # XXX Neutralize any stats_temp_directory in TEMP_CONFIG. Nodes running
+ # concurrently must not share a stats_temp_directory.
+ print $conf "stats_temp_directory = 'pg_stat_tmp'\n";
if ($params{allows_streaming})
{
@@ -478,6 +488,7 @@ sub init
print $conf "max_wal_senders = 0\n";
}
+ print $conf "port = $port\n";
if ($use_tcp)
{
print $conf "unix_socket_directories = ''\n";