postgres.git / summary / log / commit / refs
commit 9d660670541ccc803e1d48576b4a6d02a19321b0
Author: Michael Paquier <michael@paquier.xyz>
Date: Thu Jun 03 02:51:05 2021 +0000
First released in: 14.0, 9.6.23, 10.18, 11.13, 12.8, 13.4
Ignore more environment variables in TAP tests
Various environment variables were not getting reset in the TAP tests,
which would cause failures depending on the tests or the environment
variables involved. For example, PGSSL{MAX,MIN}PROTOCOLVERSION could
cause failures in the SSL tests. Even worse, a junk value of
PGCLIENTENCODING makes a server startup fail. The list of variables
reset is adjusted in each stable branch depending on what is supported.
While on it, simplify a bit the code per a suggestion from Andrew
Dunstan, using a list of variables instead of doing single deletions.
Reviewed-by: Andrew Dunstan, Daniel Gustafsson
Discussion: https://postgr.es/m/YLbjjRpucIeZ78VQ@paquier.xyz
Backpatch-through: 9.6
src/test/perl/TestLib.pm | 42 +++++++++++++++++++++++++++++++-----------
1 file changed, 31 insertions(+), 11 deletions(-)
diff --git a/src/test/perl/TestLib.pm b/src/test/perl/TestLib.pm
index fecc6733da6..0c1712ab50c 100644
--- a/src/test/perl/TestLib.pm
+++ b/src/test/perl/TestLib.pm
@@ -98,17 +98,37 @@ BEGIN
delete $ENV{LC_ALL};
$ENV{LC_MESSAGES} = 'C';
- delete $ENV{PGCONNECT_TIMEOUT};
- delete $ENV{PGDATA};
- delete $ENV{PGDATABASE};
- delete $ENV{PGHOSTADDR};
- delete $ENV{PGREQUIRESSL};
- delete $ENV{PGSERVICE};
- delete $ENV{PGSSLMODE};
- delete $ENV{PGUSER};
- delete $ENV{PGPORT};
- delete $ENV{PGHOST};
- delete $ENV{PG_COLOR};
+ my @envkeys = qw (
+ PGCHANNELBINDING
+ PGCLIENTENCODING
+ PGCONNECT_TIMEOUT
+ PGDATA
+ PGDATABASE
+ PGGSSENCMODE
+ PGGSSLIB
+ PGHOSTADDR
+ PGKRBSRVNAME
+ PGPASSFILE
+ PGPASSWORD
+ PGREQUIREPEER
+ PGREQUIRESSL
+ PGSERVICE
+ PGSERVICEFILE
+ PGSSLCERT
+ PGSSLCRL
+ PGSSLCRLDIR
+ PGSSLKEY
+ PGSSLMAXPROTOCOLVERSION
+ PGSSLMINPROTOCOLVERSION
+ PGSSLMODE
+ PGSSLROOTCERT
+ PGTARGETSESSIONATTRS
+ PGUSER
+ PGPORT
+ PGHOST
+ PG_COLOR
+ );
+ delete @ENV{@envkeys};
$ENV{PGAPPNAME} = basename($0);
[parent: 6753a5b7e86c]