pg_upgrade test writes to source directory

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-05-25T06:21:26Z
Lists: pgsql-hackers

Attachments

The 002_pg_upgrade.pl test leaves a file delete_old_cluster.sh in the 
source directory.  In vpath builds, there shouldn't be any files written 
to the source directory.

Note that the TAP tests run with the source directory as the current 
directory, so this is the result of pg_upgrade leaving its output files 
in the current directory.

It looks like an addition of

     chdir $ENV{TESTOUTDIR};

could fix it.  Please check the patch.

Commits

  1. Split TESTDIR into TESTLOGDIR and TESTDATADIR

  2. Don't hardcode tmp_check/ as test directory for tap tests

  3. Force run of pg_upgrade in the build directory in its TAP test

  4. Add missing test names in TAP tests of pg_upgrade