postgres.git / summary / log / commit / refs

commit    d31c316c74ee3cf2942cb91c2fe91fb6749730c7
Author:   Michael Paquier <michael@paquier.xyz>
Date:     Sun Jun 13 11:08:00 2021 +0000
First released in: 14.0, 9.6.23, 10.18, 11.13, 12.8, 13.4

    Ignore more environment variables in pg_regress.c
    
    This is similar to the work done in 8279f68 for TestLib.pm, where
    environment variables set may cause unwanted failures if using a
    temporary installation with pg_regress.  The list of variables reset is
    adjusted in each stable branch depending on what is supported.
    
    Comments are added to remember that the lists in TestLib.pm and
    pg_regress.c had better be kept in sync.
    
    Reviewed-by: Álvaro Herrera
    Discussion: https://postgr.es/m/YMNR9GYDn+fHlMta@paquier.xyz
    Backpatch-through: 9.6


src/test/perl/TestLib.pm | 1 + src/test/regress/pg_regress.c | 26 ++++++++++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/test/perl/TestLib.pm b/src/test/perl/TestLib.pm index 7f8e9f32e05..727469bc686 100644 --- a/src/test/perl/TestLib.pm +++ b/src/test/perl/TestLib.pm @@ -56,6 +56,7 @@ BEGIN delete $ENV{LC_ALL}; $ENV{LC_MESSAGES} = 'C'; + # This list should be kept in sync with pg_regress.c. my @envkeys = qw ( PGCLIENTENCODING PGCONNECT_TIMEOUT diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b53d2aa3e..682cea88e09 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -799,14 +799,32 @@ initialize_environment(void) * we also use psql's -X switch consistently, so that ~/.psqlrc files * won't mess things up.) Also, set PGPORT to the temp port, and set * PGHOST depending on whether we are using TCP or Unix sockets. + * + * This list should be kept in sync with TestLib.pm. */ + /* PGCLIENTENCODING, see above */ + unsetenv("PGCONNECT_TIMEOUT"); + unsetenv("PGDATA"); unsetenv("PGDATABASE"); - unsetenv("PGUSER"); + unsetenv("PGGSSLIB"); + /* PGHOSTADDR, see below */ + unsetenv("PGKRBSRVNAME"); + unsetenv("PGPASSFILE"); + unsetenv("PGPASSWORD"); + unsetenv("PGREQUIREPEER"); + unsetenv("PGREQUIRESSL"); unsetenv("PGSERVICE"); + unsetenv("PGSERVICEFILE"); + unsetenv("PGSSLCERT"); + unsetenv("PGSSLCRL"); + unsetenv("PGSSLKEY"); unsetenv("PGSSLMODE"); - unsetenv("PGREQUIRESSL"); - unsetenv("PGCONNECT_TIMEOUT"); - unsetenv("PGDATA"); + unsetenv("PGSSLROOTCERT"); + unsetenv("PGTARGETSESSIONATTRS"); + unsetenv("PGUSER"); + /* PGPORT, see below */ + /* PGHOST, see below */ + #ifdef HAVE_UNIX_SOCKETS if (hostname != NULL) doputenv("PGHOST", hostname); [parent: 1b48dd50abd6]