Commit 8279f68a authored by Michael Paquier's avatar Michael Paquier

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
parent 2955c2be
...@@ -104,17 +104,38 @@ BEGIN ...@@ -104,17 +104,38 @@ BEGIN
delete $ENV{LC_ALL}; delete $ENV{LC_ALL};
$ENV{LC_MESSAGES} = 'C'; $ENV{LC_MESSAGES} = 'C';
delete $ENV{PGCONNECT_TIMEOUT}; my @envkeys = qw (
delete $ENV{PGDATA}; PGCHANNELBINDING
delete $ENV{PGDATABASE}; PGCLIENTENCODING
delete $ENV{PGHOSTADDR}; PGCONNECT_TIMEOUT
delete $ENV{PGREQUIRESSL}; PGDATA
delete $ENV{PGSERVICE}; PGDATABASE
delete $ENV{PGSSLMODE}; PGGSSENCMODE
delete $ENV{PGUSER}; PGGSSLIB
delete $ENV{PGPORT}; PGHOSTADDR
delete $ENV{PGHOST}; PGKRBSRVNAME
delete $ENV{PG_COLOR}; PGPASSFILE
PGPASSWORD
PGREQUIREPEER
PGREQUIRESSL
PGSERVICE
PGSERVICEFILE
PGSSLCERT
PGSSLCRL
PGSSLCRLDIR
PGSSLKEY
PGSSLMAXPROTOCOLVERSION
PGSSLMINPROTOCOLVERSION
PGSSLMODE
PGSSLROOTCERT
PGSSLSNI
PGTARGETSESSIONATTRS
PGUSER
PGPORT
PGHOST
PG_COLOR
);
delete @ENV{@envkeys};
$ENV{PGAPPNAME} = basename($0); $ENV{PGAPPNAME} = basename($0);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment