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
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
PGSSLSNI
PGTARGETSESSIONATTRS
PGUSER
PGPORT
PGHOST
PG_COLOR
);
delete @ENV{@envkeys};
$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